home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / comm / cnet / lands051c.lha / BL.PD < prev    next >
Text File  |  1994-07-07  |  131KB  |  4,952 lines

  1. /*               "BATTLE LANDS" (UNREGISTERED v0.51)             */
  2. /*  ©1994 R.W.STEWART II & SLI (STEWART LOVECRAFT INDUSTRIES)  */
  3. /* WRITTEN/CODED/DIRECTED AND FONDLED BY WAYNE 'STU2' STEWART  */
  4. /*               ANOTHER FINE RPG FROM OPP & SLI               */
  5. /* HEADQUARTERS: THE DOCTOR'S OFFICE BBS (513)-256-3809 NODE 1 */
  6. /*        (513)-256-9312 NODE 2 / (513)-258-3841 NODE 3        */
  7. /*         ALL LINES ARE 14.4 SUPRAFAXMODEMS (RINGDOWN)        */
  8. /*               (513)-258-3815 NODE 4 - 2400 BAUD             */
  9.  
  10. Options results
  11. signal on error
  12. signal on syntax
  13. signal on halt
  14. path='pfiles:Battlelands/'
  15. upath='pfiles:Battlelands/users/'
  16. upath1='pfiles:Battlelands/users/stats/'
  17. dpath='pfiles:Battlelands/docs/'
  18. wpath='pfiles:Battlelands/weapons/'
  19. apath='pfiles:Battlelands/armor/'
  20. mpath='pfiles:Battlelands/maps/'
  21. spath='pfiles:Battlelands/screens/'
  22. epath='pfiles:Battlelands/monsters/'
  23. mmpath='pfiles:Battlelands/Menus/'
  24. tpath='pfiles:Battlelands/Thoughts/'
  25. sspath='pfiles:battlelands/skills/'
  26. p='###PANIC'
  27. moves=0
  28. tt=transmit
  29. sfi=sendfile
  30. sx=sendstring
  31. changewhere 'Battle Lands'
  32. mugsa=0
  33. fight=0
  34. VERSE='5.1'
  35.  
  36. getuser 28
  37. term=result
  38. if term<2 then do
  39. tt 'n1cfYou need IBM GFX to play Battle Lands.'
  40. tt 'n1cc16 color mode will also help greatly.w2'
  41. exit
  42. end 
  43.  
  44. sfi spath||'title.ans'
  45. TT '^2c8Versionc6 -->c9' verse'n1g1f1'
  46.  
  47. begin:
  48. getuser 1
  49. name=result
  50. if exists(upath'stats/'name)=1 then call loadsaved
  51. tt 'caAhh! A new Warrior! Let us set you up!w2'
  52. query 'n1cbWhat shall your grand warrior name be? ce '
  53. stat.1=result;tt 'cf'stat.1
  54. if stat.1='' then signal begin
  55. BL='w'
  56. if exists(upath||'battlers')=1 then BL='a'
  57. call open(1,upath||'battlers',BL)
  58. call writeln(1,stat.1)
  59. call writeln(1,name)
  60. call close(1)
  61. signal startchar
  62.  
  63. reroll:
  64. tt 'n1cfYour character is deceased! In this state you must either rerolln1or go to the hospital for a little healing!w2'
  65. stat.2=600*stat.10
  66. signal main
  67.  
  68. main:
  69. tt 'f1'
  70. if stat.93=1 then stat.70=0
  71. if stat.93=1 then stat.71=1
  72. if stat.93=2 then stat.70=16
  73. if stat.93=2 then stat.71=11
  74. bufferflush
  75. if stat.93=2 then sfi mmpath||'menu2.ans'
  76. if stat.93=1 then sfi mmpath||'menu1.ans' 
  77. sx "n2cbYOUR COMMANDce>> c9"
  78. getchar
  79. mn=upper(result);tt mn
  80. if mn=p then signal quit
  81. if mn='' then signal main
  82. if mn='Q' then signal quit
  83. if mn='S' then signal rusure
  84. if mn='V' then signal viewchar
  85. if mn='L' then signal listbattlers
  86. if mn='Y' then signal spy
  87. if mn='M' then signal shop
  88. if mn='F' then signal war
  89. if mn='C' then signal computerdocs
  90. if mn='B' then signal bank
  91. if mn='G' then signal startmove
  92. if mn='A' then signal transporter
  93. if mn='J' then signal college
  94. if mn='T' then signal mugger
  95. signal main
  96.  
  97. Mugger:
  98. if stat.11=rogue then call mugger1
  99. tt 'f1s1n2cfYou do not possess the skills to rob people!!!s0w2'
  100. call main
  101.  
  102. mugger1:
  103. if stat.10>3 then call mugger2
  104. tt 'f1s1n2cfNice try! You''re a rogue but not high enough in level!s0w1'
  105. call main
  106.  
  107. mugger2:
  108. if mugsa>1 then call restit
  109. mugsa=mugsa+1
  110. lll=rob
  111. query 'f1n4cbWhat c9PLAYER cbare you gonna caTRYcb to rob? [c9Lcbist or c9Qcbuit] '
  112. pl=upper(result)
  113. if pl=p then call quit
  114. if pl='' then call mugger
  115. if pl='L' then call listbattlers
  116. if pl='Q' then call main
  117. if pl='/' then call main
  118. if upper(pl)=upper(name) then call idiota
  119. if exists(upath'Stats/'pl)=1 then call mugger3
  120. tt 'c9'pl'cf is not in the land! Try ceLcf to list!w2'
  121. call mugger2
  122.  
  123. idiota:
  124. tt 'n1c9What are you gonna take from yourself? Your brains?w2'
  125. call mugger2
  126.  
  127. restit:
  128. tt 'n1caYou have tried to mug enough people today! Give it a rest!w3'
  129. call main
  130.  
  131. mugger3:
  132. call loadopponent1
  133. klevel=opstat.10-1
  134. if stat.10>klevel then call mugger4
  135. tt 'c1You are not skilled enough to rob c7'opstat.1'c1.'
  136. tt 'c3Try again after you have gained some levels!w2'
  137. call mugger2
  138.  
  139. mugger4:
  140. if stat.69=opstat.69 & stat.93=opstat.93 then call mugger5
  141. tt 's0n1cf'opstat.1 'cais not anywhere to be found! They must not be in this city!s0w3'
  142. call mugger2
  143.  
  144. mugger5:
  145. tt 'n1c1s1You search everyhwere and eventually you findc2' opstat.1's0w2'
  146. booty=VRnd(1,10)+stat.10
  147. if booty<12 then call loot
  148. if booty=13 then call jeans
  149. if booty>14 then call killme
  150. call main
  151.  
  152. loot:
  153. tt 'ceYou stole $cf'opstat.2 'cefrom' opstat.1'!w2'
  154. stat.2=stat.2+opstat.2
  155. opstat.2=opstat.2-opstat.2
  156. call saveopponent
  157. call main
  158.  
  159. jeans:
  160. tt 'ceYou just tookcf' opstat.14 'cefrom' opstat.1'!!w2'
  161. stat.14=opstat.14
  162. stat.46=opstat.14
  163. opstat.14=naked
  164. opstat.46=2
  165. call saveopponent
  166. call main
  167.  
  168. killme:
  169. tt 'ceYou just took acf' opstat.13 'cefrom' opstat.1'!!w2'
  170. stat.13=opstat.13
  171. stat.60=opstat.60
  172. opstat.13=fist
  173. opstat.60=4
  174. call saveopponent
  175. call main 
  176.  
  177. secondround:
  178. tt 'c9YOU HAVE CONQUERED THE BATTLE LANDS!!! YOU MUST REROLL!!!'
  179. sx 'caDO YOU WISH TO REROLL?? ANSWERING NO WILL KICK YOU OUT! '
  180. getchar
  181. wor=upper(result)
  182. if wor=p then call quit
  183. if wor='Q' then call quit
  184. if wor='/' then call quit
  185. if wor='N' then call quit
  186. if wor='Y' then call startchar
  187. call quit
  188.  
  189. rusure:
  190. sx 'n1c3ARE YOU SURE? THIS WILL DELETE ANY CURRENT DATA!c9 [NO] '
  191. getchar
  192. ss=upper(result)
  193. if ss='N' then call main
  194. if ss=p then call quit
  195. if ss='' then call main
  196. if ss='Y' then call newy
  197. call main
  198.  
  199. newy:
  200. banknum=stat.73
  201. if exists(upath'bank/'banknum)=1 then call accbye
  202. call startchar1
  203.  
  204. accbye:
  205. address command 'c:delete "'upath'bank/'banknum'"'
  206. call startchar1
  207.  
  208. STARTCHAR1:
  209. IF EXISTS(UPATH1||NAME) THEN ADDRESS COMMAND 'DELETE "'UPATH1''NAME'"'
  210. stat.=''
  211. CALL OPEN(2,UPATH||'BATTLERS','R')
  212. XX=1
  213. DO UNTIL EOF(2)=1
  214.  LEADER.XX=READLN(2)
  215.  PLAYER.XX=READLN(2)
  216.  IF LEADER.XX=' ' THEN ITERATE
  217.  XX=XX+1
  218. END 
  219. CALL CLOSE(2)
  220. XX=XX-1
  221. CALL OPEN(2,UPATH||'BATTLERS','W')
  222. DO I=1 TO XX
  223.  IF EXISTS(UPATH1||PLAYER.I)=0 THEN ITERATE I
  224.  CALL WRITELN(2,LEADER.I)
  225.  CALL WRITELN(2,PLAYER.I)
  226. END
  227. CALL CLOSE(2)
  228. SIGNAL BEGIN
  229.  
  230. startchar:
  231. tt 'n1c9Starting Fresh...let me set you upw2'
  232. stat.2=10000
  233. stat.62=4
  234. stat.9=0
  235. stat.10=1
  236. do i=17 to 41
  237.  stat.i=no
  238. end
  239. stat.42=0
  240. stat.43=0
  241. stat.44=no
  242. stat.45=no
  243. stat.13=fist
  244. stat.14=naked
  245. do i=48 to 59
  246.  stat.i=0
  247. end
  248. stat.61=no
  249. stat.64=2000
  250. stat.65=0
  251. stat.66=3
  252. stat.67=0
  253. stat.68=4
  254. stat.69=0
  255. stat.70=0
  256. stat.71=1
  257. stat.72=no
  258. stat.73=0
  259. do i=74 to 92
  260.  stat.i=no
  261. end
  262. stat.93=1
  263. stat.94=yes
  264. stat.95=no
  265. stat.96=no
  266. stat.97=no
  267. stat.98=no 
  268. stat.99=0
  269. stat.100=0
  270. stat.101=0
  271. do i=102 to 110
  272.  stat.i=no
  273. end
  274. stat.108=0
  275. call race1
  276.  
  277. listbattlers:
  278. tt 'f1n2ceHere is a list of the mighty Battlers from c9The Battle Landsn1'
  279. call open(1,upath||'battlers','r')
  280.  do until eof(1)=1
  281.  battler=readln(1)
  282.  user=readln(1)
  283.  if battler~='' then do;tt 'caPLAYER:cb' left(user' ',20)'ccWARRIOR''S NAME:cf' left(battler' ',30);end
  284. end
  285. call close(1)
  286. tt 'n1caHit a key to stop staring...g1'
  287. if lll=messages then call messaged
  288. if lll=main then call main
  289. if lll=arena then call war
  290. if lll=spie then call spy
  291. if lll=rob then call mugger2
  292. call main
  293.  
  294. race1:
  295. trd=a
  296. txs=0
  297. tt 'f1'
  298. sfi mmpath||'race.ans'
  299. sx 'n1cbCHOOSE A RACE FROM THE LIST ABOVEce>> c9'
  300. getchar
  301. rt=upper(result);tt 'cb'rt
  302. if rt=p then call quit
  303. if rt='' then call race1
  304. if rt='V' then call vampire
  305. if rt='H' then call human
  306. if rt='G' then call giant
  307. if rt='R' then call runt
  308. if rt='T' then call thinker
  309. if rt='B' then call brain
  310. call race1
  311.  
  312. vampire:
  313. stat.3=Vrnd(30,60)
  314. stat.4=stat.3
  315. stat.5=Vrnd(20,23)
  316. stat.8=Vrnd(18,22)
  317. stat.7=Vrnd(17,22)
  318. stat.6=Vrnd(16,21)
  319. stat.12=Vampire
  320. stat.15=20
  321. stat.16=20
  322. stat.46=3
  323. if trd=a then tt 'n1ca'stat.1' is a c9Vampireca!!!w2'
  324. call class
  325.  
  326. human:
  327. stat.3=Vrnd(30,50)
  328. stat.4=stat.3
  329. stat.5=Vrnd(18,20)
  330. stat.8=Vrnd(18,21)
  331. stat.7=Vrnd(15,20)
  332. stat.6=Vrnd(19,22)
  333. stat.12=Human
  334. stat.15=15
  335. stat.16=15
  336. stat.46=2
  337. if trd=a then tt 'n1ca'stat.1' is a c9Humanca!!!w2'
  338. call class
  339.  
  340. giant:
  341. stat.3=Vrnd(35,55)
  342. stat.4=stat.3
  343. stat.5=Vrnd(22,26)
  344. stat.8=Vrnd(15,19)
  345. stat.7=Vrnd(18,23)
  346. stat.6=Vrnd(16,19)
  347. stat.12=Giant
  348. stat.15=10
  349. stat.16=10
  350. stat.46=3
  351. if trd=a then tt 'n1ca'stat.1' is a c9Giantca!!!w2'
  352. call class
  353.  
  354. Runt:
  355. stat.3=Vrnd(35,55)
  356. stat.4=stat.3
  357. stat.5=Vrnd(18,23)
  358. stat.8=Vrnd(15,18)
  359. stat.7=Vrnd(20,24)
  360. stat.6=Vrnd(18,23)
  361. stat.12=Runt
  362. stat.15=10
  363. stat.16=10
  364. stat.46=4
  365. tt 'n1ca'stat.1' is a c9Runtca!!!w2'
  366. call class
  367.  
  368. Brain:
  369. stat.3=Vrnd(30,50)
  370. stat.4=stat.3
  371. stat.5=Vrnd(14,17)
  372. stat.8=Vrnd(23,27)
  373. stat.7=Vrnd(13,18)
  374. stat.6=Vrnd(14,17)
  375. stat.12=Brain
  376. stat.15=40
  377. stat.16=40
  378. stat.46=1
  379. if trd=a then tt 'n1ca'stat.1' is a c9Brainca!!!w2'
  380. call class 
  381.  
  382. Thinker:
  383. stat.3=Vrnd(30,55)
  384. stat.4=stat.3
  385. stat.5=Vrnd(14,18)
  386. stat.8=Vrnd(19,24)
  387. stat.7=Vrnd(14,18)
  388. stat.6=Vrnd(17,20)
  389. stat.12=Thinker
  390. stat.15=25
  391. stat.16=25
  392. stat.46=2
  393. if trd=a then tt 'n1ca'stat.1 'is a c9Thinkerca!!!w2'
  394. call class 
  395.  
  396. class:
  397. sfi mmpath||'class.ans'
  398. sx 'n2c9Now choose a class from this listce>> c9'
  399. getchar
  400. cl=upper(result);tt 'cb'cl
  401. if cl=p then call quit
  402. if cl='' then call class
  403. if cl='M' then call mentalist
  404. if cl='R' then call rogue
  405. if cl='X' then call xpert
  406. if cl='K' then call knight
  407. if cl='A' then call assassin
  408. if cl='G' then call globalist
  409. call class
  410.  
  411. mentalist:
  412. if stat.12=android then call nomental
  413. stat.15=stat.15+10
  414. stat.16=stat.16+10
  415. stat.17=yes
  416. stat.19=yes 
  417. stat.47=11
  418. stat.72=yes
  419. stat.11=Mentalist
  420. stat.91=25
  421. stat.79=10
  422. tt 'n1cb'stat.1'ca is now ac9' stat.12 'Mentalistca!w2'
  423. call done
  424.  
  425. rogue:
  426. stat.6=stat.6+1
  427. stat.47=9
  428. stat.46=stat.46+1
  429. stat.11=Rogue
  430. stat.91=5
  431. stat.79=15
  432. tt 'n1cb'stat.1'ca is now ac9' stat.12 'Rogueca!w2'
  433. call done
  434.  
  435. assassin:
  436. stat.6=stat.6+1
  437. stat.47=9
  438. stat.11=Assassin
  439. stat.46=stat.46+1
  440. stat.91=5
  441. stat.79=15
  442. tt 'n1cb'stat.1'ca is now ac9' stat.12 'Assassinca!w2'
  443. call done
  444.  
  445. knight:
  446. stat.5=stat.5+1
  447. stat.6=stat.6+1
  448. stat.47=8
  449. stat.91=5
  450. stat.11=Knight
  451. stat.46=stat.46+1
  452. stat.79=20
  453. tt 'n1cb'stat.1'ca is now ac9' stat.12 'Knightca!w2'
  454. call done
  455.  
  456. xpert:
  457. stat.6=stat.6+2
  458. stat.47=8
  459. stat.11=Arms Expert
  460. stat.46=stat.46+1
  461. stat.91=5
  462. stat.79=20
  463. tt 'n1cb'stat.1'ca is now ac9' stat.12 'Arms Expertca!w2'
  464. call done
  465.  
  466. globalist:
  467. if stat.12=android then call nomental
  468. stat.6=stat.6+2
  469. stat.8=stat.8+1
  470. stat.7=stat.7+1
  471. stat.47=10
  472. stat.91=15
  473. stat.72=yes
  474. stat.11=Globalist
  475. stat.46=stat.46+2
  476. stat.79=15
  477. stat.17=yes
  478. tt 'n1cb'stat.1'ca is now ac9' stat.12 'Globalistca!w2'
  479. call done
  480.  
  481. spy:
  482. lll=spie
  483. tt 'f1c9s1Plugging into the network terminal...s0n1'
  484. query 'ceEnter the c9PLAYERce name you wish to spy on.c9[cbLcfist, cbQcfuitc9] '
  485. pl=upper(result)
  486. if pl=p then call quit
  487. if pl='' then call spy
  488. if exists(upath'Stats/'pl)=1 then call spy1
  489. if pl='L' then call listbattlers
  490. if pl='Q' then call spyquit
  491. if pl='/' then call spyquit
  492. tt 'c9'pl'cf is not in the land! Try ceLcf to list!w2'
  493. call spy
  494.  
  495. spyquit:
  496. if zzz=spied then call computerdocs1
  497. call main
  498.  
  499. spy1:
  500. call loadopponent1
  501. know=opstat.8-1
  502. if know<=stat.8 then call spy2
  503. tt 'c1You are not smart enough to spy on c7'opstat.1'c1.'
  504. tt 'c3Try again after you have gained some skills!w2'
  505. call spy
  506.  
  507. loadopponent1:
  508. call open(1,upath||'stats/'||pl)
  509. do i=1 to 110
  510.  opstat.i=readln(1)
  511. end
  512. call close(1)
  513. return
  514.  
  515. spy2:
  516. tt 'f1cdStatistics forcf 'opstat.1'n1'
  517. tt 'caMoney          $cf'opstat.2
  518. tt 'caHealth         :cf'left(opstat.3' ',6)'caout of:cb'opstat.4
  519. tt 'caMental Rating  :cf'left(opstat.15' ',6)'caout of:cb'opstat.16
  520. tt 'caStrength       :cf'opstat.5
  521. tt 'caAgility        :cf'opstat.6
  522. tt 'caEndurance      :cf'opstat.7
  523. tt 'caMental         :cf'opstat.8
  524. tt 'caExperience     :cf'opstat.9
  525. tt 'caLevel          :cf'opstat.10
  526. tt 'caClass          :cf'opstat.11
  527. tt 'caRace           :cf'opstat.12
  528. tt 'caWeapon         :cf'opstat.13 'caDamage:cb'opstat.60
  529. tt 'caArmor          :cf'opStat.14 'caAC:cb'opstat.46
  530. tt 'n1c1Hit a key to continue...g1'
  531. if stat.84=yes & level>8 then call fullviewspy
  532. call spy
  533.  
  534. fullviewspy:
  535. if zzz=spied then call fullviewspy1
  536. call spy
  537.  
  538. fullviewspy1:
  539. if opstat.69=0 & opstat.93=1 then oplocation=Kasad Va Amoria
  540. if opstat.69=0 & opstat.93=2 then oplocation=Illiun Tris Luxoon
  541. if opstat.69=1 then oplocation=The Battle Zone 
  542. if opstat.69=2 then oplocation=A Deep Cave
  543. if opstat.69=3 then oplocation=The Gate Castle
  544. if opstat.69=4 then oplocation=An Alien Spacecraft
  545. if opstat.69=5 then oplocation=A Deep Dark Cave
  546. if opstat.69=6 then oplocation=The Military Base
  547. tt 'n1f1cdInventory of the Battler c9'opstat.1
  548. tt 'caMuscle Chip    :cf' left(opstat.36' ',3) 'caPhysical Chip  :cf' left(opstat.37' ',3) 'caLink Chip      :cf' opstat.38
  549. tt 'caMental Chip    :cf' left(opstat.39' ',3) 'ca20kad Chip     :cf' left(opstat.40' ',3) 'caPirate Chip    :cf' opstat.41
  550. tt 'caMedical Kits   :cf' left(opstat.42' ',3) 'caInfo Goggles   :cf' left(opstat.44' ',3) 'caClimbing Boots :cf' opstat.45
  551. tt 'caTeleport Belt  :cf' left(opstat.87' ',3) 'caMagna Grenades :cf' left(opstat.99' ',3) 'caNova Grenades  :cf' opstat.100
  552. tt 'cdMagic of the Battler c9'opstat.1
  553. tt 'caElectric Storm :cf' left(opstat.17' ',3) 'caMental Punch   :cf' left(opstat.18' ',3) 'caLow Healing    :cf' opstat.19
  554. tt 'caLow Blast      :cf' left(opstat.20' ',3) 'caLow Shield     :cf' left(opstat.21' ',3) 'caMuscle Gain    :cf' opstat.22
  555. tt 'caHigh Healing   :cf' left(opstat.23' ',3) 'caHigh Blast     :cf' left(opstat.24' ',3) 'caHigh Shield    :cf' opstat.25
  556. tt 'caMetal Storm    :cf' left(opstat.26' ',3) 'caLightning Bolt :cf' left(opstat.27' ',3) 'caMissile        :cf' opstat.28
  557. tt 'caNuke           :cf' left(opstat.29' ',3) 'caHigh Nuke      :cf' left(opstat.30' ',3) 'caHeal All       :cf' opstat.32
  558. tt 'caDevastate      :cf' left(opstat.31' ',3) 'caBecome Steel   :cf' left(opstat.35' ',3) 'caRage           :cf' opstat.34
  559. tt 'cdSkill levels of the Battler c9'opstat.1
  560. tt 'caAssault        :cf' left(opstat.48' ',3)'cb% caMountaineer   :cf' left(opstat.49' ',3)'cb% caComputers     :cf' opstat.50'cb%' 
  561. tt 'caHistory        :cf' left(opstat.51' ',3)'cb% caSalesman      :cf' left(opstat.52' ',3)'cb% caGovernment    :cf' opstat.53'cb%'
  562. tt 'caMedical        :cf' left(opstat.54' ',3)'cb% caReligion      :cf' left(opstat.55' ',3)'cb% caRace Study    :cf' opstat.56'cb%'
  563. tt 'caDefense        :cf' left(opstat.57' ',3)'cb% caDisguise      :cf' left(opstat.58' ',3)'cb% caGambling      :cf' opstat.59'cb%'
  564. tt 'cdThe Secrets of the Battler c9'opstat.1
  565. tt 'caTransport Pass :cf' left(opstat.80' ',3) 'caChrome Key     :cf' left(opstat.77' ',3) 'caBank Account # :cf' opstat.73
  566. tt 'caSpy Net Key    :cf' left(opstat.84' ',3) 'caBlack Market   :cf' left(opstat.92' ',3) 'caZone Key       :cf' opstat.78
  567. tt 'cdThe Location of the Battler c9'opstat.1 'cd:cf 'oplocation
  568. tt 'cbHit any key to continue...g1'
  569. call spy
  570.  
  571. saveopponent:
  572. call open(1,upath||'stats/'||pl,'w')
  573. do i=1 to 110
  574.  call writeln(1,opstat.i)
  575. end
  576. call close(1)
  577. if lll=rob then call main
  578. if stat.3<1 then call quit
  579. call levelup
  580.  
  581. done:
  582. call strength1
  583.  
  584. donea:
  585. if stat.89=yes then call donec
  586. call strength2
  587.  
  588. doneb:
  589. stat.47=stat.47-bhit
  590. call donec
  591.  
  592. donec:
  593. stat.60=stat.62+stat.63
  594. if stat.69>0 then call mapcall
  595. call main
  596.  
  597. computerdocs:
  598. tt 'f1n2ces1Plugging into the computer networks0'
  599. tt 'n1cbYou are in!w2'
  600. call computerdocs1
  601.  
  602. computerdocs1:
  603. tt 'f1'
  604. sfi mmpath||'comp.ans'
  605. query 'n2cbNUMBER INPUTce>> '
  606. fl=upper(result)
  607. if fl=p then call quit
  608. if fl='Q' then call main
  609. if fl='/' then call main
  610. if fl='' then call computerdocs1
  611. if fl<1 then call computerdocs1
  612. if fl=1 then call governmenta
  613. if fl=2 then call magic1
  614. if fl=3 then call hospitald
  615. if fl=4 then call bankd
  616. if fl=5 then call historyd
  617. if fl=6 then call mapsd
  618. if fl=7 then call weaponsd
  619. if fl=8 then call armord
  620. if fl=9 then call religiond
  621. if fl=10 then call racestudd
  622. if fl=11 then call gamblingd
  623. if fl=12 then call classesd
  624. if fl=13 then call monstersd
  625. if fl=eyespy then call spynetd
  626. if fl=modsquad then call bmarketd
  627. tt 's1c9I do not see such an option on the menu! Hmmm!w2s0'
  628. call computerdocs1
  629.  
  630. spynetd:
  631. if stat.10>10 then call spyhead
  632. tt 'n1ceYou are not high enough in level to enter the SpyNet!w2'
  633. call computerdocs1
  634.  
  635. spyhead:
  636. zzz=spied
  637. tt 'f1n3cds1Entering the Spy Net...s0w2'
  638. call spy
  639.  
  640. hospitald:
  641. if stat.54>50 then call hospitaldd
  642. tt 'ceYou need a degree in Medicine to open this linkw2'
  643. call computerdocs1
  644.  
  645. hospitaldd:
  646. hl=VRnd(1,9)+stat.10
  647. if hl<15 then hl=15 
  648. if hl>23 then hl=23
  649. if hl=15 then sfi dpath||'hos15'
  650. if hl=16 then sfi dpath||'hos16'
  651. if hl=17 then sfi dpath||'hos17'
  652. if hl=18 then sfi dpath||'hos18'
  653. if hl=19 then sfi dpath||'hos19'
  654. if hl=20 then sfi dpath||'hos20'
  655. if hl=21 then sfi dpath||'hos21'
  656. if hl=22 then sfi dpath||'hos22'
  657. if hl=23 then sfi dpath||'hos23'
  658. call computerdocs1
  659.  
  660. bankd:
  661. if stat.50>70 then call bankdd
  662. tt 'ceYou need a higher Computer degree to open this linkw2'
  663. call computerdocs1
  664.  
  665. bankdd:
  666. bd=VRnd(1,2)+4+stat.10
  667. if bd<15 then bd=15
  668. if bd>28 then bd=28
  669. if bd=15 then sfi dpath||'bank15'
  670. if bd=16 then sfi dpath||'bank16'
  671. if bd=17 then sfi dpath||'bank17'
  672. if bd=18 then sfi dpath||'bank18'
  673. if bd=19 then sfi dpath||'bank19'
  674. if bd=20 then sfi dpath||'bank20'
  675. if bd=21 then sfi dpath||'bank21'
  676. if bd=22 then sfi dpath||'bank22'
  677. if bd=23 then sfi dpath||'bank23'
  678. if bd=24 then sfi dpath||'bank24'
  679. if bd=25 then sfi dpath||'bank25'
  680. if bd=26 then sfi dpath||'bank26'
  681. if bd=27 then sfi dpath||'bank27'
  682. if bd=28 then sfi dpath||'bank28'
  683. call computerdocs1
  684.  
  685. historyd:
  686. if stat.51>50 then call historydd 
  687. tt 'ceYou need a degree in History to open this linkw2'
  688. call computerdocs1
  689.  
  690. historydd:
  691. hst=VRnd(1,6)+stat.10
  692. if hst<10 then hst=10
  693. if hst>18 then hst=18
  694. if hst=10 then sfi dpath||'hist10'
  695. if hst=11 then sfi dpath||'hist11'
  696. if hst=12 then sfi dpath||'hist12'
  697. if hst=13 then sfi dpath||'hist13'
  698. if hst=14 then sfi dpath||'hist14'
  699. if hst=15 then sfi dpath||'hist15'
  700. if hst=16 then sfi dpath||'hist16'
  701. if hst=17 then sfi dpath||'hist17'
  702. if hst=18 then sfi dpath||'hist18'
  703. call computerdocs1
  704.  
  705. mapsd:
  706. if stat.8>23 then call mapsdd
  707. tt 'ceYou need a higher Mental rating to open this linkw2'
  708. call computerdocs1
  709.  
  710. mapsdd:
  711. mps=VRnd(1,2)+stat.10
  712. if mps<8 then mps=8
  713. if mps>13 then mps=13
  714. if mps=8 then sfi mpath||'map1.anstest'
  715. if mps=9 then sfi mpath||'map2.anstest'
  716. if mps=10 then sfi mpath||'map3.anstest'
  717. if mps=11 then sfi mpath||'map4.anstest'
  718. if mps=12 then sfi mpath||'map5.anstest'
  719. if mps=13 then sfi mpath||'map6.anstest'
  720. call computerdocs1
  721.  
  722. weaponsd:
  723. if stat.48>50 then call weaponsdd
  724. tt 'ceYou need a degree in Assault Weapons to open this linkw2'
  725. call computerdocs1
  726.  
  727. weaponsdd:
  728. wp=VRnd(1,17)+stat.10
  729. if wp<2 then wp=2
  730. if wp>27 then wp=27
  731. call weaponshowit
  732.  
  733. weaponshowit:
  734. tt 'n1cbSearching the Weapon Data Banks'
  735. call open(1,wpath||wep1)
  736. do i=1 to 81
  737. wcost.i=readln(1)
  738. weapondam1.i=readln(1)
  739. wepname.i=readln(1)
  740. end
  741. call close(1)
  742. tt 'f1n2cfINFORMATION ON:c9' wepname.wp
  743. tt 'n1caDAMAGE :cb' weapondam1.wp
  744. tt 'caPRICE  :cb' wcost.wp
  745. if weapondam1.wp<31 then tt 'n1cfA good weapon at lower levels'
  746. if weapondam1.wp>30 & weapondam1.wp<61 then tt 'n1cfA great weapon at lower levels'
  747. if weapondam1.wp>60 & weapondam1.wp<101 then tt 'n1cfA great weapon at medium levels'
  748. if weapondam1.wp>100 & weapondam1.wp<151 then tt 'n1cfA great weapon at higher levels'
  749. if weapondam1.wp>150 & weapondam1.wp<199 then tt 'n1cfA better weapon will have to be built personallyn1Or bought illegally somewhere else...'
  750. if weapondam1.wp=200 then tt 'g1f1s1c9You have the skills to build your own weapon...n1Just saycf MYWEAPONc9 at the weaponshop...s0'
  751. tt 'g1'
  752. call computerdocs1
  753.  
  754. armord:
  755. if stat.57>50 then call armordd 
  756. tt 'ceYou need a degree in Defense to open this linkw2'
  757. call computerdocs1
  758.  
  759. armordd:
  760. ar=VRnd(1,20)+stat.10
  761. if ar<5 then ar=5
  762. if ar>30 then ar=30
  763. call loadarmor1
  764.  
  765. loadarmor1:
  766. tt 'cbn1Checking Armor Data Banks...'
  767. call open(1,apath||arm1)
  768. do i=1 to 90
  769. acost.i=readln(1)
  770. arating.i=readln(1)
  771. aname.i=readln(1)
  772. end
  773. call close(1)
  774. tt 'f1n2cfINFORMATION ON:c9 'aname.ar
  775. tt 'n1caPROTECTION AC:cb 'arating.ar
  776. tt 'caPRICE       :cb 'acost.ar
  777. if arating.ar<11 then tt 'n1cfThis is low protection'
  778. if arating.ar>10 & arating.ar<14 then tt 'n1cfThis is good protection'
  779. if arating.ar>15 & arating.ar<18 then tt 'n1cfThis is great protection'
  780. if arating.ar>17 & arating.ar<41 then tt 'n1cfThis is excellent protection'
  781. if arating.ar>40 then tt 'n1cfThis is the best protectiong1f1n2You have the skills needed to build your own armor!n2Tell the ArmorShop ceHELPMEcf!'
  782. tt 'g1'
  783. call computerdocs1
  784.  
  785. religiond:
  786. if stat.55>50 then call religiondd 
  787. tt 'ceYou need a degree in Religion to open this linkw2'
  788. call computerdocs1
  789.  
  790. religiondd:
  791. rld=VRnd(1,2)+stat.10
  792. if rld>21 then rld=21
  793. if rld<14 then rld=14
  794. if rld=14 then sfi dpath||'reli1'
  795. if rld=15 then sfi dpath||'reli2'
  796. if rld=16 then sfi dpath||'reli3'
  797. if rld=17 then sfi dpath||'reli4'
  798. if rld=18 then sfi dpath||'reli5'
  799. if rld=19 then sfi dpath||'reli6'
  800. if rld=20 then sfi dpath||'reli7'
  801. if rld=21 then sfi dpath||'reli8'
  802. call computerdocs1
  803.  
  804. racestudd:
  805. if stat.56>50 then call racestuddd
  806. tt 'ceYou need a degree in Race Studies to open this linkw2'
  807. call computerdocs1
  808.  
  809. racestuddd:
  810. rcd=VRnd(1,7)
  811. if rcd=1 then sfi dpath||'race1'
  812. if rcd=2 then sfi dpath||'race2'
  813. if rcd=3 then sfi dpath||'race3'
  814. if rcd=4 then sfi dpath||'race4'
  815. if rcd=5 then sfi dpath||'race5'
  816. if rcd=6 then sfi dpath||'race6'
  817. if rcd=7 then sfi dpath||'race7'
  818. call computerdocs1
  819.  
  820. gamblingd:
  821. if stat.59>50 then call gamblingdd
  822. tt 'ceYou need a degree in Gambling to open this linkw2'
  823. call computerdocs1
  824.  
  825. classesd:
  826. if stat.8>16 then call classesdd
  827. tt 'ceYou need to be smarter to open this linkw2'
  828. call computerdocs1
  829.  
  830. classesdd:
  831. cla=VRnd(1,6)
  832. if cla=1 then sfi dpath||'class1'
  833. if cla=2 then sfi dpath||'class2'
  834. if cla=3 then sfi dpath||'class3'
  835. if cla=4 then sfi dpath||'class4'
  836. if cla=5 then sfi dpath||'class5'
  837. if cla=6 then sfi dpath||'class6'
  838. call computerdocs1
  839.  
  840. monstersd:
  841. if stat.8>16 then call monstersdd 
  842. tt 'ceYou need to be smarter to open this linkw2'
  843. call computerdocs1
  844.  
  845. monstersdd:
  846. tt 'n1cfSearching the Monster Archives'
  847. mon=VRnd(1,2)+stat.10
  848. if mon<12 then mon=mon1
  849. if mon>21 then mon=mon10
  850. if mon=12 then mon=mon1
  851. if mon=13 then mon=mon2
  852. if mon=14 then mon=mon3
  853. if mon=15 then mon=mon4
  854. if mon=16 then mon=mon5
  855. if mon=17 then mon=mon6
  856. if mon=18 then mon=mon7
  857. if mon=19 then mon=mon8
  858. if mon=20 then mon=mon9
  859. if mon=21 then mon=mon10
  860. call monsterview
  861.  
  862. monsterview:
  863. mmn=VRnd(1,7)
  864. call open(1,epath||mon)
  865. do i=1 to 160
  866.  monhealth.i=readln(1)
  867.  mondam.i=readln(1)
  868.  monwep.i=readln(1)
  869.  monmoney.i=readln(1)
  870.  monval.i=readln(1)
  871.  monthaco.i=readln(1)
  872.  monac.i=readln(1)
  873.  mondes.i=readln(1)
  874.  monagil.i=readln(1)
  875.  monname.i=readln(1)
  876. end
  877. call close(1)
  878. tt 'f1n1cfINFORMATION ON:c9' monname.mmn
  879. tt 'n1caHEALTH   :cb' monhealth.mmn
  880. tt 'caWEAPON   :cb' monwep.mmn
  881. tt 'caDAMAGE   :cb' mondam.mmn
  882. tt 'caXP VALUE :cb' monval.mmn
  883. tt 'caARMOR CL :cb' monac.mmn
  884. tt 'caAGILITY  :cb' monagil.mmn
  885. tt 'g1'
  886. call computerdocs1
  887.  
  888. bmarketd:
  889. if stat.92=yes then call bmarketdd
  890. tt 'ceYou need to see the clerk at the Item Shop first to open this linkw2'
  891. call computerdocs1
  892.  
  893. governmenta:
  894. if stat.53>50 then call government1
  895. tt 'n1c5You are not intelligent enough to open this linkw2'
  896. call computerdocs1
  897.  
  898. government1:
  899. gt=VRnd(1,15)
  900. if gt=1 then sfi dpath||'gov1'
  901. if gt=2 then sfi dpath||'gov2'
  902. if gt=3 then sfi dpath||'gov3'
  903. if gt=4 then sfi dpath||'gov4'
  904. if gt=5 then sfi dpath||'gov5'
  905. if gt=6 then sfi dpath||'gov6'
  906. if gt=7 then sfi dpath||'gov7'
  907. if gt=8 then sfi dpath||'gov8'
  908. if gt=9 then sfi dpath||'gov9'
  909. if gt=10 then sfi dpath||'gov10'
  910. if gt=11 then sfi dpath||'gov11'
  911. if gt=12 then sfi dpath||'gov12'
  912. if gt=13 then sfi dpath||'gov13'
  913. if gt=14 then sfi dpath||'gov14'
  914. if gt=15 then sfi dpath||'gov15'
  915. call computerdocs1
  916.  
  917. magic1:
  918. if stat.72=yes then call magic2
  919. tt 'n1c6You to be able to use Magic to open this linkw2'
  920. call computerdocs1
  921.  
  922. magic2:
  923. mg=VRnd(1,15)+stat.10
  924. if mg>25 then mg=25
  925. if mg<11 then mg=11
  926. if mg=11 then sfi dpath||'magic11'
  927. if mg=12 then sfi dpath||'magic12'
  928. if mg=13 then sfi dpath||'magic13'
  929. if mg=14 then sfi dpath||'magic14'
  930. if mg=15 then sfi dpath||'magic15'
  931. if mg=16 then sfi dpath||'magic16'
  932. if mg=17 then sfi dpath||'magic17'
  933. if mg=18 then sfi dpath||'magic18'
  934. if mg=19 then sfi dpath||'magic19'
  935. if mg=20 then sfi dpath||'magic20'
  936. if mg=21 then sfi dpath||'magic21'
  937. if mg=22 then sfi dpath||'magic22'
  938. if mg=23 then sfi dpath||'magic23'
  939. if mg=24 then sfi dpath||'magic24'
  940. if mg=25 then sfi dpath||'magic25'
  941. call computerdocs1
  942.  
  943. strength1:
  944. if stat.5<=15 then stat.63=0
  945. if stat.5=16 then stat.63=2
  946. if stat.5=17 then stat.63=2
  947. if stat.5=18 then stat.63=3
  948. if stat.5=19 then stat.63=3
  949. if stat.5=20 then stat.63=4
  950. if stat.5=21 then stat.63=4
  951. if stat.5=22 then stat.63=5
  952. if stat.5=23 then stat.63=5
  953. if stat.5=24 then stat.63=6
  954. if stat.5=25 then stat.63=6
  955. if stat.5=26 then stat.63=7
  956. if stat.5=27 then stat.63=7
  957. if stat.5=28 then stat.63=8
  958. if stat.5=29 then stat.63=9
  959. if stat.5=30 then stat.63=10
  960. if stat.5=31 then stat.63=11
  961. if stat.5=32 then stat.63=12
  962. if stat.5=33 then stat.63=13
  963. if stat.5=34 then stat.63=14
  964. if stat.5=35 then stat.63=15
  965. if stat.5=36 then stat.63=16
  966. if stat.5=37 then stat.63=17
  967. if stat.5>37 then stat.63=18
  968. call donea
  969.  
  970. strength2:
  971. if stat.5<=15 then bhit=0
  972. if stat.5=16 then bhit=1
  973. if stat.5=17 then bhit=1
  974. if stat.5=18 then bhit=1
  975. if stat.5=19 then bhit=2
  976. if stat.5=20 then bhit=2
  977. if stat.5=21 then bhit=2
  978. if stat.5=22 then bhit=3
  979. if stat.5=23 then bhit=3
  980. if stat.5=24 then bhit=3
  981. if stat.5=25 then bhit=4
  982. if stat.5=26 then bhit=4
  983. if stat.5=27 then bhit=4
  984. if stat.5=28 then bhit=5
  985. if stat.5=29 then bhit=5
  986. if stat.5=30 then bhit=5
  987. if stat.5=31 then bhit=6
  988. if stat.5=32 then bhit=6
  989. if stat.5=33 then bhit=6
  990. if stat.5>33 then bhit=7
  991. stat.89=yes
  992. call doneb
  993.  
  994. magicshop:
  995. tt 'f1'
  996. if stat.72=no then call youhavenomagic
  997. sfi mmpath||'spell.ans'
  998. tt 'n1ceYou have $cf'stat.2 'n1'
  999. query 'cbSelect a Spell ca#cb to purchasece>> '
  1000. mm=upper(result);tt mm
  1001. if mm=p then call quit
  1002. if mm='' then call magicshop
  1003. if mm='1' then mm=elecstorma
  1004. if mm='2' then mm=mentalpuncha
  1005. if mm='3' then mm=heal1a
  1006. if mm='4' then mm=blast1a
  1007. if mm='5' then mm=shield1a
  1008. if mm='6' then mm=musclea
  1009. if mm='7' then mm=heal2a
  1010. if mm='8' then mm=blast2a
  1011. if mm='9' then mm=shield2a
  1012. if mm='10' then mm=lightninga
  1013. if mm='11' then mm=metalstorma
  1014. if mm='12' then mm=missilea
  1015. if mm='13' then mm=nukea      
  1016. if mm=gandolf then mm=devasta
  1017. if mm='Q' then call main
  1018. if mm='/' then call main
  1019. if exists(tpath||mm)=1 then call magicbought1
  1020. call magicshop
  1021.  
  1022. youhavenomagic:
  1023. tt 'ceYou are not capable of using magic!w2'
  1024. call main
  1025.  
  1026. magicbought1:
  1027. call open(1,tpath||mm)
  1028. mactag=readln(1)
  1029. maccost=readln(1)
  1030. malevel=readln(1)
  1031. call close(1)
  1032. if malevel>stat.10 then call notenoughlevel
  1033. if stat.52<98 then maccost=maccost/2
  1034. if stat.52>99 then maccost=maccost/4
  1035. if stat.2>maccost then call magicbought2
  1036. tt 'ceYou do not have the funds necessary to buycf' mactag 'ce!w2'
  1037. call magicshop
  1038.  
  1039. notenoughlevel:
  1040. tt 'n1c9Your level is not high enough to learncf' mactag 'c9!w2'
  1041. call magicshop
  1042.  
  1043. magicbought2:
  1044. tt 'cdAce 'mactag 'cdcosts $ce'maccost
  1045. sx 'cbDo you want it?c9 [No]ce '
  1046. getchar
  1047. an=upper(result);tt 'cb'an
  1048. if an=p then quit
  1049. if an='Y' then call magicbought3
  1050. tt 'ceMake up your mind!w2'
  1051. call magicshop
  1052.  
  1053. magicbought3:
  1054. if mm=elecstorma then call ma1
  1055. if mm=mentalpuncha then call ma2
  1056. if mm=heal1a then call ma3
  1057. if mm=blast1a then call ma4
  1058. if mm=shield1a then call ma5
  1059. if mm=musclea then call ma6       
  1060. if mm=heal2a then call ma7         
  1061. if mm=blast2a then call ma8        
  1062. if mm=shield2a then call ma9       
  1063. if mm=lightninga then call ma10   
  1064. if mm=metalstorma then call ma11
  1065. if mm=missilea then call ma12
  1066. if mm=nukea then call ma13
  1067. if mm=devasta then call ma14
  1068.  
  1069. ma1:
  1070. stat.17=yes
  1071. stat.2=stat.2-maccost
  1072. call magicshop
  1073.  
  1074. ma2:
  1075. stat.18=yes
  1076. stat.2=stat.2-maccost
  1077. call magicshop
  1078.  
  1079. ma3:
  1080. stat.19=yes
  1081. stat.2=stat.2-maccost
  1082. call magicshop
  1083.  
  1084. ma4:
  1085. stat.20=yes
  1086. stat.2=stat.2-maccost
  1087. call magicshop
  1088.  
  1089. ma5:
  1090. stat.21=yes
  1091. stat.2=stat.2-maccost
  1092. call magicshop
  1093.  
  1094. ma6:
  1095. stat.22=yes
  1096. stat.2=stat.2-maccost
  1097. call magicshop
  1098.  
  1099. ma7:
  1100. stat.23=yes
  1101. stat.2=stat.2-maccost
  1102. call magicshop
  1103.  
  1104. ma8:
  1105. stat.24=yes
  1106. stat.2=stat.2-maccost
  1107. call magicshop
  1108.  
  1109. ma9:
  1110. stat.25=yes
  1111. stat.2=stat.2-maccost
  1112. call magicshop
  1113.  
  1114. ma10:
  1115. stat.27=yes
  1116. stat.2=stat.2-maccost
  1117. call magicshop
  1118.  
  1119. ma11:
  1120. stat.26=yes
  1121. stat.2=stat.2-maccost
  1122. call magicshop
  1123.  
  1124. ma12:
  1125. stat.28=yes
  1126. stat.2=stat.2-maccost
  1127. call magicshop
  1128.  
  1129. ma13:
  1130. stat.29=yes
  1131. stat.2=stat.2-maccost
  1132. call magicshop
  1133.  
  1134. ma14:
  1135. stat.31=yes
  1136. stat.2=stat.2-maccost
  1137. call magicshop
  1138.  
  1139. uhavenomagic:
  1140. tt 'n1c9YOUR WARRIOR IS NOT CAPABLE OF USING MAGIC!!! ENTRANCE FORBIDDEN!'
  1141. call main
  1142.  
  1143. inventoryshop:
  1144. sfi mmpath||'item.ans'
  1145. tt 'n1ceYou have $cf'stat.2 'n1'
  1146. query 'cbSelect an Item ca#cb to purchasece>> '
  1147. tm=upper(result);tt tm
  1148. if tm=p then call quit
  1149. if tm='S' then tt 'n1c9Sorry! We onlycf SELL c9Items!w2'
  1150. if tm='' then call inventoryshop
  1151. if tm>0 & tm<10 then call itembought1
  1152. if tm=isolation then call cardshop
  1153. if tm='Q' then call main
  1154. if tm='/' then call main
  1155. tt 'n1c9Sorry that is not a valid choice!w2'
  1156. call inventoryshop
  1157.  
  1158. cardshop:
  1159. if stat.2>100000 then call cardshop1
  1160. tt 'n1ceI''m not going to say a thing till you come back with $100,000.00w2'
  1161. call inventoryshop
  1162.  
  1163. cardshop1:
  1164. tt 'n1ceOkay. You look trustworthy. At the Computer Link say cbMODSQUAD!!g1'
  1165. stat.92=yes
  1166. stat.2=stat.2-100000
  1167. call inventoryshop
  1168.  
  1169. shop:
  1170. transmit 'f1'
  1171. sendfile mmpath||'shop.ans'
  1172. sendstring "n2cbWhich shop would you like to enter?c9 "
  1173. getchar
  1174. sh=upper(result);transmit sh
  1175. if sh=p then signal quit
  1176. if sh='W' then signal weaponshop
  1177. if sh='A' then signal armorshop
  1178. if sh='I' then signal inventoryshop
  1179. if sh='H' then signal healershop
  1180. if sh='M' then signal magicshop
  1181. if sh='Q' then signal done
  1182. signal shop
  1183.  
  1184. itembought1:
  1185. call open(1,wpath||Items1)
  1186. do i=1 to 27
  1187. ittag.i=readln(1)
  1188. itcost.i=readln(1)
  1189. itbonus.i=readln(1)
  1190. end
  1191. call close(1)
  1192. if stat.52>50 & stat.52<99 then itcost.tm=itcost.tm/2
  1193. if stat.52>99 then itcost.tm=itcost.tm/4
  1194. if stat.2>itcost.tm then call itembought2
  1195. tt 'ceYou do not have the funds necessary to buy this!w2'
  1196. call inventoryshop
  1197.  
  1198. itembought2:
  1199. if tm='5' then call medkit1
  1200. tt 'cdAce 'ittag.tm 'cdcosts $ce'itcost.tm
  1201. sx 'cbDo you want it?c9 [No]ce '
  1202. getchar
  1203. an=upper(result);tt 'cb'an
  1204. if an=p then quit
  1205. if an='Y' then call itembought3
  1206. tt 'ceMake up your mind!w2'
  1207. call inventoryshop
  1208.  
  1209. itembought3:
  1210. if tm='1' then call muschip1
  1211. if tm='2' then call physchip1
  1212. if tm='3' then call linkchip1
  1213. if tm='4' then call menchip1
  1214. if tm='6' then call infogog1
  1215. if tm='7' then call cboots1
  1216. if tm='8' then call kadchip1
  1217. if tm='9' then call pirchip1
  1218. call inventoryshop
  1219.  
  1220. muschip1:
  1221. stat.36=yes
  1222. stat.5=stat.5+2
  1223. stat.2=stat.2-itcost.tm
  1224. call inventoryshop
  1225.  
  1226. physchip1:
  1227. stat.37=yes
  1228. stat.6=stat.6+2
  1229. stat.2=stat.2-itcost.tm
  1230. call inventoryshop
  1231.  
  1232. linkchip1:
  1233. stat.38=yes
  1234. stat.50=stat.50+60
  1235. stat.2=stat.2-itcost.tm
  1236. call inventoryshop
  1237.  
  1238. menchip1:
  1239. stat.39=yes
  1240. stat.8=stat.8+2
  1241. stat.2=stat.2-itcost.tm
  1242. stat.91=stat.91+5
  1243. call inventoryshop
  1244.  
  1245. kadchip1:
  1246. stat.40=yes
  1247. stat.5=28
  1248. stat.8=28
  1249. stat.6=28
  1250. stat.7=28
  1251. stat.72=yes
  1252. stat.50=stat.50+50
  1253. stat.2=stat.2-itcost.tm
  1254. call inventoryshop
  1255.  
  1256. pirchip1:
  1257. stat.41=yes
  1258. stat.5=stat.5+2
  1259. stat.8=stat.8+2
  1260. stat.6=stat.6+2
  1261. stat.7=stat.7+2
  1262. stat.2=stat.2-itcost.tm
  1263. call inventoryshop
  1264.  
  1265. medkit1:
  1266. query 'caHow many medkits do you wish to purchase?ce '
  1267. bz=upper(result);tt bz
  1268. if bz=p then call quit
  1269. if bz='' then call inventoryshop
  1270. if bz*itcost.tm>stat.2 then call wrongo
  1271. stat.42=stat.42+bz
  1272. stat.43=3
  1273. stat.2=stat.2-(itcost.tm*bz)
  1274. call inventoryshop
  1275.  
  1276. wrongo:
  1277. bing=stat.2/itcost.tm
  1278. tt 'c9s2DO NOT WASTE MY TIME!! YOU CANNOT AFFORD THAT MANY MEDKITS!'
  1279. tt 'AT MOST YOU CAN AFFORDCFs0' bing'w3'
  1280. call medkit1
  1281.  
  1282. infogog1:
  1283. stat.44=yes
  1284. stat.2=stat.2-itcost.tm
  1285. call inventoryshop
  1286.  
  1287. cboots1:
  1288. stat.45=yes
  1289. stat.2=stat.2-itcost.tm
  1290. call inventoryshop
  1291.  
  1292. weaponshop:
  1293. tt 'f1'
  1294. sfi mmpath||'weapon.ans'
  1295. tt 'n1ceYou have $cf'stat.2 'n1'
  1296. query 'cbSelect a Weapon ca#cb to purchasece>> '
  1297. wp=upper(result)
  1298. if wp=p then call quit
  1299. if wp=myweapon then call wmakeme
  1300. if wp='S' then tt 'n1c9Sorry! We onlycf SELLc9 weapons!w2' 
  1301. if wp='Q' then call main
  1302. if wp='/' then call main
  1303. if wp='' then call weaponshop
  1304. if wp<28 & wp>0 then call weaponbought
  1305. call weaponshop
  1306.  
  1307. wmakeme:
  1308. if stat.48<50 then call getsomeass
  1309. tt 'f1n2cfSo you wanna make a weapon, eh?'
  1310. query 'n1caWhat are we gonna call this thing? c9[RETURN=Abort]cb '
  1311. wname1=upper(result)
  1312. if wname1=p then call quit
  1313. if wname1='' then call weaponshop
  1314. call wpriceme
  1315.  
  1316. wpriceme:
  1317. tt 'n1caYou have cb$'stat.2
  1318. query 'caHow much do you wanna spend on this venture? '
  1319. wlcost=upper(result)
  1320. if wlcost>stat.2 then call getsomefunds
  1321. if wlcost=p then call quit
  1322. if wlcost='' then call wmakeme
  1323. tt 'n1ceFiguring...w2'
  1324. wdam=wlcost/25000
  1325. if wdam>1000 then do;tt 'n1c91000 points is the maximum damage for any weaponw1';wdam=1000;end
  1326. call wcompleteme
  1327.  
  1328. getsomefunds:
  1329. tt 'c9You do not have that sort of stat.2!w2'
  1330. call weaponshop
  1331.  
  1332. wcompleteme:
  1333. tt 'f1n2caYour weapon c9'wname1 'cawill doc9' wdam 'cadamage!'
  1334. sx 'n1caIs this okay with you??? c9[NO] '
  1335. getchar
  1336. awr=upper(result)
  1337. if awr=p then call quit
  1338. if awr='N' then call weaponshop
  1339. if awr='' then call weaponshop
  1340. stat.13=wname1
  1341. stat.62=wdam
  1342. stat.60=stat.62+stat.63
  1343. stat.2=stat.2-wlcost
  1344. call weaponshop
  1345.  
  1346. getsomeass:
  1347. tt 'ceYour Assault skill is not good enough to build a weapon!w2'
  1348. call weaponshop
  1349.  
  1350. weaponbought:
  1351. call open(1,wpath||wep1)
  1352. do i=1 to 27
  1353. wcost.i=readln(1)
  1354. weapondam1.i=readln(1)
  1355. wepname.i=readln(1)
  1356. end
  1357. call close(1)
  1358. if stat.52>50 & stat.52<99 then wcost.wp=wcost.wp/2
  1359. if stat.52>99 then wcost.wp=wcost.wp/4
  1360. if stat.2>=wcost.wp then call weaponbought2
  1361. tt 'ceYou do not have the funds necessary to buy this!w2'
  1362. call weaponshop
  1363.  
  1364. weaponbought2:
  1365. tt 'cdAce 'wepname.wp 'cdcosts $ce'wcost.wp
  1366. sx 'cbDo you want it?c9 [No]ce '
  1367. getchar
  1368. an=upper(result);tt 'cb'an
  1369. if an=p then quit
  1370. if an='Y' then call weaponbought3
  1371. tt 'ceMAKE UP YOUR MIND!w2'
  1372. call weaponshop
  1373.  
  1374. weaponbought3:
  1375. stat.13=wepname.wp
  1376. stat.2=stat.2-wcost.wp
  1377. stat.62=weapondam1.wp
  1378. stat.60=stat.62+stat.63
  1379. call main
  1380.  
  1381. armorshop:
  1382. tt 'f1'
  1383. sfi mmpath||'armor.ans'
  1384. tt 'n1ceYou have $cf'stat.2 'n1'
  1385. query 'cbSelect an armor ca#cb to purchasece>> '
  1386. ar=upper(result)
  1387. if ar=p then call quit
  1388. if ar='S' then tt 'n1c9Sorry! We only cfSELL c9armor!w2'
  1389. if ar='Q' then call main
  1390. if ar='/' then call main
  1391. if ar='' then call armorshop
  1392. if ar>0 & ar<31 then call armorbought
  1393. if ar=helpme then call amakeme
  1394. call armorshop
  1395.  
  1396. amakeme:
  1397. if stat.57<50 then call getsomeass1
  1398. tt 'f1cfSo you wanna build some armor, eh?'
  1399. query 'n1caWhat are we gonna call this thing? c9[RETURN=Abort]cb '
  1400. aname1=upper(result)
  1401. if aname1=p then call quit
  1402. if aname1='' then call armorshop
  1403. call apriceme
  1404.  
  1405. apriceme:
  1406. tt 'n1caYou have cb$'stat.2
  1407. query 'caHow much do you wanna spend on this venture? '
  1408. alcost=upper(result)
  1409. if alcost>stat.2 then call getsomefunds1
  1410. if alcost=p then call quit
  1411. if alcost='' then call amakeme
  1412. tt 'n1ceFiguring...w2'
  1413. naac=alcost/300000
  1414. if naac>70 then do;tt 'n1c9The maximum armor rating is 70w2';naac=70;end
  1415. call acompleteme
  1416.  
  1417. getsomefunds1:
  1418. tt 'c9You do not have that sort of stat.2!w2'
  1419. call armorshop
  1420.  
  1421. acompleteme:
  1422. tt 'f1n2caYour armor c9'aname1 'cawill havec9' naac 'caAC!'
  1423. sx 'n1caIs this okay with you??? c9[NO] '
  1424. getchar
  1425. arw=upper(result)
  1426. if arw=p then call quit
  1427. if arw='N' then call armorshop
  1428. if arw=' ' then call armorshop
  1429. stat.14=aname1
  1430. stat.46=naac
  1431. stat.2=stat.2-alcost
  1432. call armorshop
  1433.  
  1434. getsomeass1:
  1435. tt 'ceYour Defense skill is not good enough to build armor!w2'
  1436. call armorshop
  1437.  
  1438. armorbought:
  1439. call open(1,apath||arm1)
  1440. do i=1 to 30
  1441. acost.i=readln(1)
  1442. arating.i=readln(1)
  1443. aname.i=readln(1)
  1444. end
  1445. call close(1)
  1446. if stat.52>50 & stat.52<99 then acost.ar=acost.ar/2
  1447. if stat.52>99 then acost.ar=acost.ar/4
  1448. if stat.2>=acost.ar then call armorbought2
  1449. tt 'ceYou do not have the funds necessary to buy this!w2'
  1450. call armorshop
  1451.  
  1452. armorbought2:
  1453. tt 'cdAce 'aname.ar 'cdcosts $ce'acost.ar
  1454. sx 'cbDo you want it?c9 [No]ce '
  1455. getchar
  1456. an=upper(result);tt 'cb'an
  1457. if an=p then quit
  1458. if an='Y' then call armorbought3
  1459. tt 'ceMake up your mind!w2'
  1460. call armorshop
  1461.  
  1462. armorbought3:
  1463. stat.14=aname.ar
  1464. stat.2=stat.2-acost.ar
  1465. bag=stat.6-18
  1466. if bag>10 then bag=10
  1467. if bag<-3 then bag=-3
  1468. stat.46=bag+arating.ar
  1469. call main
  1470.  
  1471. loadsaved:
  1472. tt 'ccLoading your stats...'
  1473. call loadstats
  1474. tt 'n2ceDONE!w1'
  1475. call main
  1476.  
  1477. loadstats:
  1478. call open(1,upath||'stats/'name)
  1479. do i=1 to 110
  1480.  stat.i=readln(1)
  1481. end
  1482. call close(1)
  1483. stat.67=stat.67+1
  1484. if stat.107=yes then call secondround
  1485. if stat.3<1 then call reroll
  1486. if stat.67>stat.68 then call toomanyturns
  1487. x=stat.70
  1488. y=stat.71
  1489. if stat.69>0 then call mapcall
  1490. return
  1491.  
  1492. toomanyturns:
  1493. tt 'cef1n2You have had too many turns today!! Sorry!w2'
  1494. call quit
  1495.  
  1496. viewchar:
  1497. tt 'f1cdStatistics forcf 'stat.1'n1'
  1498. tt 'caMoney          $cf' stat.2
  1499. tt 'caHealth         :cf' left(stat.3' ',6)' caout of:cb' stat.4
  1500. tt 'caMental Rating  :cf' left(stat.15' ',6)' caout of:cb' stat.16
  1501. tt 'caStrength       :cf' stat.5
  1502. tt 'caAgility        :cf' stat.6
  1503. tt 'caEndurance      :cf' stat.7
  1504. tt 'caMental         :cf' stat.8
  1505. tt 'caExperience     :cf' left(stat.9' ',12)' caNext Level:cb' stat.64
  1506. tt 'caLevel          :cf' stat.10
  1507. tt 'caClass          :cf' stat.11
  1508. tt 'caRace           :cf' stat.12
  1509. tt 'caWeapon         :cf' left(stat.13' ',20)' caDamage:cb'stat.60
  1510. tt 'caArmor          :cf' left(Stat.14' ',20)' caAC:cb'stat.46
  1511. tt 'caPlayer Fights  :cf' stat.65
  1512. tt 'caTo Hit AC 0    :cf' stat.47
  1513. tt 'caTurns Today    :cf' stat.67
  1514. tt 'n1caHit a key to show inventory...g1'
  1515. call showinv
  1516.  
  1517. showinv:
  1518. tt 'f1cdInventory of the Battler c9'stat.1
  1519. tt 'caMuscle Chip    :cf' left(stat.36' ',3) 'caPhysical Chip  :cf' left(stat.37' ',3) 'caLink Chip      :cf' left(stat.38' ',3)
  1520. tt 'caMental Chip    :cf' left(stat.39' ',3) 'ca20kad Chip     :cf' left(stat.40' ',3) 'caPirate Chip    :cf' stat.41
  1521. tt 'caMedical Kits   :cf' left(stat.42' ',3) 'caInfo Goggles   :cf' left(stat.44' ',3) 'caClimbing Boots :cf' stat.45
  1522. tt 'caMagna Grenades :cf' left(stat.99' ',3) 'caInfoHelm       :cf' left(stat.82' ',3) 'caNova Grenades  :cf' stat.100   
  1523. tt 'cdMagic of the Battler c9'stat.1
  1524. tt 'caElectric Storm :cf' left(stat.17' ',3) 'caMental Punch   :cf' left(stat.18' ',3) 'caLow Healing    :cf' stat.19
  1525. tt 'caLow Blast      :cf' left(stat.20' ',3) 'caLow Shield     :cf' left(stat.21' ',3) 'caMuscle Gain    :cf' stat.22
  1526. tt 'caHigh Healing   :cf' left(stat.23' ',3) 'caHigh Blast     :cf' left(stat.24' ',3) 'caHigh Shield    :cf' stat.25
  1527. tt 'caMetal Storm    :cf' left(stat.26' ',3) 'caLightning Bolt :cf' left(stat.27' ',3) 'caMissile        :cf' stat.28
  1528. tt 'caNuke           :cf' left(stat.29' ',3) 'caHigh Nuke      :cf' left(stat.30' ',3) 'caHeal All       :cf' stat.32
  1529. tt 'caDevastate      :cf' left(stat.31' ',3) 'caBecome Steel   :cf' left(stat.35' ',3) 'caRage           :cf' stat.34
  1530. tt 'cdSkill levels of the Battler c9'stat.1
  1531. tt 'caAssault        :cf' left(stat.48' ',3)'cb% caMountaineer   :cf' left(stat.49' ',3)'cb% caComputers     :cf' stat.50'cb%'
  1532. tt 'caHistory        :cf' left(stat.51' ',3)'cb% caSalesman      :cf' left(stat.52' ',3)'cb% caGovernment    :cf' stat.53'cb%'
  1533. tt 'caMedical        :cf' left(stat.54' ',3)'cb% caReligion      :cf' left(stat.55' ',3)'cb% caRace Study    :cf' stat.56'cb%'
  1534. tt 'caDefense        :cf' left(stat.57' ',3)'cb% caDisguise      :cf' left(stat.58' ',3)'cb% caGambling      :cf' stat.59'cb%'
  1535. tt 'cdThe Secrets of the Battler c9'stat.1
  1536. tt 'caTransport Pass :cf' left(stat.80' ',3) 'caChrome Key     :cf' left(stat.77' ',3) 'caBank Account # :cf' stat.73
  1537. tt 'caSpy Net Key    :cf' left(stat.84' ',3) 'caBlack Market   :cf' left(stat.92' ',3) 'caZone Key       :cf' stat.78
  1538. tt 'n1cbHit any key to continue...g1f1'
  1539. if stat.69>0 then call mapcall
  1540. call main
  1541.  
  1542. war:
  1543. lll=arena
  1544. if lll=arena & fight>5 then do;tt 'f1n3c9You have killed too many Arena Battlers this turn!w2';call main;end
  1545. if stat.3<1 then call nowar
  1546. if stat.65>stat.66 then call toomany
  1547. sfi spath||'arena.ans'
  1548. query 'n2cbWho do you wish to call out? c9[Quit]ce >> '
  1549. pl=upper(result)
  1550. if pl='' then call main
  1551. if pl=p then call quit
  1552. if pl='Q' then call main
  1553. if pl='/' then call main
  1554. if pl='M' then call monatack
  1555. if pl='L' then call listbattlers
  1556. if upper(pl)=upper(name) then call dumb
  1557. if exists(upath'stats/'pl)=1 then call war1
  1558. tt 'n1c9There is no such warrior in the Landsw2'
  1559. call war
  1560.  
  1561. monatack:
  1562. tt 'f1n4cbSearching the opponent locker room for'
  1563. tt 'a monster warrior of your caliber. Hang on...'
  1564. call montack
  1565.  
  1566. toomany:
  1567. tt 'n1c9s1You have fought too many warriors today! Try back tomorrow!s0w2'
  1568. call main
  1569.  
  1570. nowar:
  1571. tt 'n1ceYou are in no condition to be fighting try the healerw2'
  1572. call main
  1573.  
  1574. dumb:
  1575. tt 'c9The council has found it unwise to battle yourselfw2'
  1576. call war
  1577.  
  1578. war1:
  1579. call loadopponent1
  1580. mylevel=stat.10-2
  1581. if mylevel>opstat.10 then call wimp
  1582. if opstat.69>0 then call conquering
  1583. if opstat.3<1 then call nofight
  1584. if opstat.93=stat.93 then call war2
  1585. tt 'ce'opstat.1 'seems to be in a different city! Sorry!w2'
  1586. call war
  1587.  
  1588. conquering:
  1589. tt 'n1ces1'opstat.1 'is out conquering lands and unable to fights0w2'
  1590. call war
  1591.  
  1592. nofight:
  1593. tt 'ce'opstat.1 'is dead and is unable to attend the fightw2'
  1594. call war
  1595.  
  1596. war2:
  1597. rnturn=0
  1598. fff=optr
  1599. tt 'f1n1cdHere are the warriors:'
  1600. tt 'f1n1cdHere are the warriors:'
  1601. tt 'c9'left(stat.1' ',22)' cbvs.c9 'opstat.1
  1602. tt ' '
  1603. tt 'ca'left(stat.1' ',27) 'ca'opstat.1
  1604. tt 'ceRace  :cf' left(stat.12' ',19) 'ceRace  :cf'opstat.12
  1605. tt 'ceClass :cf' left(stat.11' ',19) 'ceClass :cf'opstat.11 
  1606. tt 'ceLevel :cf' left(stat.10' ',19) 'ceLevel :cf'opstat.10 
  1607. tt 'ceWeapon:cf' left(stat.13' ',19) 'ceWeapon:cf'opstat.13 
  1608. tt 'ceHealth:cf' left(stat.3' ',19) 'ceHealth:cf'opstat.3
  1609. tt 'ceA.C.  :cf' left(stat.46' ',19) 'ceA.C.  :cf'opstat.46    
  1610. tt 'n1c9HIT A KEY WHEN YOU ARE READY!!g1f1'
  1611. call warm3
  1612.  
  1613. warm3:
  1614. if opstat.6<=stat.6 then DO;TT 'F1';SFI SPATH||'COMBAT';SIGNAL war3;END
  1615. tt 'f1cfn4'opstat.1 'ce is more agile than you and attacks immediately!!'
  1616. call opponenturn
  1617.  
  1618. war3:
  1619. getchar
  1620. BUFFERFLUSH
  1621. if stat.46>70 then stat.46=70
  1622. tt 'f0N4'
  1623. tt 'CCF'left(stat.1'C0X',30)'CCF'left(opstat.1'C0X',26)
  1624. tt 'CCF'left(stat.13'C0X',28)'CCF'left(opstat.13'C0X',28)
  1625. tt 'CCF'left(stat.60'C0X',28)'CCF'left(opstat.60'C0X',28)
  1626. tt 'CCF'left(stat.3'C0X',28)'CCF'left(opstat.3'C0X',28)
  1627. tt 'CCF'left(stat.46'C0X',32)'CCF'left(opstat.46'C0X',28)
  1628. TT 'F0BC0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  1629. TT 'C0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  1630. TT 'C0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  1631. TT 'C0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  1632. TT 'C0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  1633. TT 'C0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  1634. TT 'C0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  1635. TT 'C0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  1636. TT 'C0XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
  1637. sx 'f0BcaWhat will it be?cb '
  1638. sa=upper(result)
  1639. if sa='A' then call war4
  1640. if sa='M' then call mattack
  1641. if sa='I' then call ittack
  1642. if sa='R' then call run1
  1643. if sa='Q' then call run1
  1644. if sa='/' then call run1
  1645. if sa='C' then signal comfight
  1646. if sa=p then call quit
  1647. if sa='' then call war4
  1648. call war4
  1649.  
  1650. comfight:
  1651. tt 'F0BcaThe c9Continuous Combat caoption will allow for continued combat until one Battler'
  1652. tt 'is dead. During this time you will be berzerk and unable to break from combat.'
  1653. TT 'c9Unless you are C9SURECA that you will win, this mode is not suggested.'
  1654. sx 'cbAre you sure you want this option?c9 '
  1655. getchar
  1656. aqw=upper(result)
  1657. if aqw=p then SIGNAL quit
  1658. if aqw='' then SIGNAL war3
  1659. if aqw='N' then SIGNAL war3
  1660. if aqw='Y' then do;con=yes;SIGNAL war4;end
  1661. SIGNAL war3
  1662.  
  1663. ittack:
  1664. tt 'f1n1ceCombat Items:'
  1665. tt 'cb1 cfMedical Kit   ceAVAILABLE:c9' stat.42
  1666. tt 'cb2 cfInfo Goggles  ceAVAILABLE:c9' stat.44
  1667. tt 'cb3 cfMagna Grenade ceAVAILABLE:c9' stat.99
  1668. tt 'cb4 cfInfo Helm     ceAVAILABLE:c9' stat.82
  1669. tt 'cb5 cfNova Grenade  ceAVAILABLE:c9' stat.100
  1670. sx 'n1ccPlease select an Item c9# ccto usece>>> '
  1671. getchar
  1672. itu=upper(result)
  1673. if itu=p then call quit
  1674. if itu='Q' then call war3
  1675. if itu='/' then call war3
  1676. if itu='' then call ittack
  1677. if itu='1' then call medkit51
  1678. if itu='2' then call infogog51
  1679. if itu='3' then call magnagren51
  1680. if itu='4' then call uvir51
  1681. if itu='5' then call novagren51
  1682. call ittack
  1683.  
  1684. uvir51:
  1685. if stat.82=no then call noitem1
  1686. tt 'f1n1ce'opstat.1 'info!'
  1687. tt 'n1caHealth  :cf' opstat.3
  1688. tt 'caDamage  :cf' opstat.60
  1689. tt 'caWeapon  :cf' opstat.13
  1690. tt 'caMoney   :cf' opstat.2*3
  1691. tt 'caThaco   :cf' opstat.47
  1692. tt 'caAC      :cf' opstat.46
  1693. gfc=opstat.47+stat.46
  1694. gfx=stat.47+opstat.46
  1695. tt 'n1s1cbOn a roll of 1-20c9' opstat.1 'cbwill need ac9' gfc 'cbor better to hit you!!!s0'
  1696. tt 'n1s1caIn order for you to hit them you will need ac9' gfx 'caor betters0'
  1697. if gfx>17 then tt 'n1s1cfI suggest you either c9Runcf,c9 Use Magiccf orc9 Lob a Grenadecf!!s0'
  1698. tt 'n1c9Hit any key when finished...g1'
  1699. call ittack
  1700.  
  1701. novagren51:
  1702. if stat.100<1 then stat.100=0
  1703. if stat.100=0 then call noitem2
  1704. tt 'n1cfYou lob a Nova Grenade at your enemy!w2'
  1705. gdam=VRnd(200,500)*2
  1706. tt 'cfYou didc9' gdam 'cfpoints of damage!w2'
  1707. opstat.3=opstat.3-gdam
  1708. stat.100=stat.100-1
  1709. call opdeath
  1710.  
  1711. magnagren51:
  1712. if stat.99<1 then stat.99=0
  1713. if stat.99=0 then call noitem2
  1714. tt 'n1cfYou lob a Magna Grenade at your enemy!w2'
  1715. gdam=VRnd(100,300)*2
  1716. tt 'cfYou didc9' gdam 'cfpoints of damage!w2'
  1717. opstat.3=opstat.3-gdam
  1718. stat.99=stat.99-1
  1719. call opdeath
  1720.  
  1721. medkit51:
  1722. if stat.42<1 then stat.42=0
  1723. if stat.42=0 then call noitem2
  1724. stat.3=stat.4
  1725. stat.43=stat.43-1
  1726. if stat.43=0 then call medkit52
  1727. tt 'ceYou are healed!w2'
  1728. call opponenturn
  1729.  
  1730. medkit52:
  1731. stat.42=stat.42-1
  1732. if stat.42>0 then stat.43=3
  1733. call opponenturn
  1734.  
  1735. infogog51:
  1736. if stat.44=no then call noitem2
  1737. tt 'f1n1ce'opstat.1 'info!'
  1738. tt 'n1caHealth  :cf' opstat.3
  1739. tt 'caDamage  :cf' opstat.60
  1740. tt 'caWeapon  :cf' opstat.13
  1741. tt 'caMoney   :cf' opstat.2
  1742. tt 'caThaco   :cf' opstat.47
  1743. tt 'caAC      :cf' opstat.46
  1744. tt 'n1c9Hit any key when finished...g1'
  1745. call opponenturn
  1746.  
  1747. noitem2:
  1748. tt 'n1c9You do not have that item!w2'
  1749. call ittack
  1750.  
  1751. mattack:
  1752. if stat.72=no then call nomagic
  1753. tt 'f1n1cePossible combat spells:'
  1754. tt 'cb1  cfElectro Storm ceAVAILABLE:c9' stat.17
  1755. tt 'cb2  cfMental Punch  ceAVAILABLE:c9' stat.18
  1756. tt 'cb3  cfLow Heal      ceAVAILABLE:c9' stat.19
  1757. tt 'cb4  cfLow Blast     ceAVAILABLE:c9' stat.20
  1758. tt 'cb5  cfLow Shield    ceAVAILABLE:c9' stat.21
  1759. tt 'cb6  cfMuscle        ceAVAILABLE:c9' stat.22
  1760. tt 'cb7  cfHigh Heal     ceAVAILABLE:c9' stat.23
  1761. tt 'cb8  cfHigh Blast    ceAVAILABLE:c9' stat.24
  1762. tt 'cb9  cfHigh Shield   ceAVAILABLE:c9' stat.25
  1763. tt 'cb10 cfMetal Storm   ceAVAILABLE:c9' stat.26
  1764. tt 'cb11 cfLightning     ceAVAILABLE:c9' stat.27
  1765. tt 'cb12 cfMissile       ceAVAILABLE:c9' stat.28
  1766. tt 'cb13 cfNuke          ceAVAILABLE:c9' stat.29
  1767. tt 'cb14 cfDevastate     ceAVAILABLE:c9' stat.31
  1768. tt 'cb15 cfHigh Nuke     ceAVAILABLE:c9' stat.30
  1769. tt 'cb16 cfHeal All      ceAVAILABLE:c9' stat.32
  1770. tt 'cb17 cfRage          ceAVAILABLE:c9' stat.34
  1771. tt 'cb18 cfBecome Steel  ceAVAILABLE:c9' stat.35      
  1772. query 'n1caPlease choose an available number for castingce>>c9 '
  1773. spl=upper(result)
  1774. if spl=p then call quit
  1775. if spl='' then call mattack
  1776. if spl='Q' then call war3
  1777. if spl='/' then call war3
  1778. if spl=1 then call estorm
  1779. if spl=2 then call mpunch
  1780. if spl=3 then call lheal
  1781. if spl=4 then call mblast1
  1782. if spl=5 then call mshield1
  1783. if spl=6 then call mmuscle
  1784. if spl=7 then call mheal2
  1785. if spl=8 then call mblast2
  1786. if spl=9 then call mshield2
  1787. if spl=10 then call mmetalstorm
  1788. if spl=11 then call mlightning
  1789. if spl=12 then call mmissile
  1790. if spl=13 then call mnuke
  1791. if spl=14 then call mdevastate      
  1792. if spl=15 then call mnuke2a 
  1793. if spl=16 then call mheal3
  1794. if spl=17 then call mrage
  1795. if spl=18 then call mbesteel
  1796. call mattack
  1797.  
  1798. mbesteel:
  1799. if stat.35=no then call donthaveit
  1800. scost=100
  1801. if scost>stat.15 then call nomrating
  1802. tt 'f1n1ceYou cast acf Become Steel cespell on yourself!w2'
  1803. stat.15=stat.15-scost
  1804. opstat.47=opstat+20
  1805. call opdeath
  1806.  
  1807. mrage:
  1808. if stat.34=no then call donthaveit
  1809. scost=400
  1810. if scost>stat.15 then call nomrating
  1811. tt 'f1n1ceYou cast acf Rage cespell on yourself!w2'
  1812. opstat.47=opstat.47+20
  1813. stat.62=stat.62+30
  1814. stat.3=stat.4
  1815. stat.15=stat.15-scost
  1816. call opdeath
  1817.  
  1818. mheal3:
  1819. if stat.32=no then call donthaveit
  1820. scost=200
  1821. if scost>stat.15 then call nomrating
  1822. tt 'f1n1ceYou cast acf Heal cespell on yourself!w2'
  1823. stat.3=stat.4
  1824. stat.15=stat.15-scost
  1825. call opdeath
  1826.  
  1827. mnuke2a:
  1828. if stat.30=no then call donthaveit
  1829. scost=900
  1830. if scost>stat.15 then call nomrating
  1831. tt 'f1n1c9You have cast a cfHIGH NUKE c9at the' opstat.1'w2'
  1832. dam=120*stat.10
  1833. tt 'n1c9You didcf' dam 'c9points of damage!w2'
  1834. opstat.3=opstat.3-dam
  1835. stat.15=stat.15-scost
  1836. call opdeath
  1837.  
  1838. estorm:
  1839. if stat.17=no then call donthaveit
  1840. scost=5*stat.10
  1841. if scost>stat.15 then call nomrating
  1842. tt 'f1n1c9You have cast a wild cfElectric Storm c9at' opstat.1'w2'
  1843. dam=Vrnd(10,14)*stat.10
  1844. tt 'n1c9You didcf' dam 'c9points of damage!w2'
  1845. opstat.3=opstat.3-dam
  1846. stat.15=stat.15-scost
  1847. call opdeath
  1848.  
  1849. mpunch:
  1850. if stat.18=no then call donthaveit
  1851. scost=10*stat.10
  1852. if scost>stat.15 then call nomrating
  1853. tt 'f1n1c9You have cast a powerful cfMental Punch c9at' opstat.1'w2'
  1854. dam=VRnd(13,18)*stat.10
  1855. tt 'n1c9You didcf' dam 'c9points of damage!w2'
  1856. opstat.3=opstat.3-dam
  1857. stat.15=stat.15-scost
  1858. call opdeath
  1859.  
  1860. lheal:
  1861. if stat.19=no then call donthaveit1
  1862. scost=5*stat.10
  1863. if scost>stat.15 then call nomrating1
  1864. tt 'f1n1ceYou cast acf Heal cespell on yourself!w2'
  1865. hlt=VRnd(10,16)*stat.10
  1866. hls=hlt+stat.3
  1867. stat.3=stat.3+hlt
  1868. if hls>stat.4 then stat.3=stat.4
  1869. call opdeath
  1870.  
  1871. mblast1:
  1872. if stat.20=no then call donthaveit
  1873. scost=10*stat.10
  1874. if scost>stat.15 then call nomrating
  1875. tt 'f1n1c9You have cast a powerful cfLow Blast c9at' opstat.1'w2'
  1876. dam=VRnd(15,25)*stat.10
  1877. tt 'n1c9You didcf' dam 'c9points of damage!w2'
  1878. opstat.3=opstat.3-dam
  1879. stat.15=stat.15-scost
  1880. call opdeath
  1881.  
  1882. mshield1:
  1883. if stat.21=no then call donthaveit
  1884. scost=25
  1885. if scost>stat.15 then call nomrating
  1886. tt 'f1n1c9You have cast a powerful cfLow Shield c9on yourself!w2'
  1887. opstat.47=opstat.47+7
  1888. stat.15=stat.15-scost
  1889. call opdeath
  1890.  
  1891. mmuscle:
  1892. if stat.22=no then call donthaveit
  1893. scost=30
  1894. if scost>stat.15 then call nomrating
  1895. tt 'f1n1c9You have become very strong!w2'
  1896. stat.62=stat.62+10
  1897. stat.15=stat.15-scost
  1898. call opdeath
  1899.  
  1900. mheal2:
  1901. if stat.23=no then call donthaveit
  1902. scost=10*stat.10
  1903. if scost>stat.15 then call nomrating
  1904. tt 'f1n1ceYou cast acf Heal cespell on yourself!w2'
  1905. hlt=VRnd(17,25)*stat.10
  1906. hls=hlt+stat.3
  1907. stat.3=stat.3+hlt
  1908. stat.15=stat.15-scost
  1909. if hls>stat.4 then stat.3=stat.4
  1910. call opdeath
  1911.  
  1912. mblast2:
  1913. if stat.24=no then call donthaveit
  1914. scost=100
  1915. if scost>stat.15 then call nomrating
  1916. tt 'f1n1c9You have cast a powerful cfBlast c9at' opstat.1'w2'
  1917. dam=VRnd(25,35)*stat.10
  1918. tt 'n1c9You didcf' dam 'c9points of damage!w2'
  1919. opstat.3=opstat.3-dam
  1920. stat.15=stat.15-scost
  1921. call opdeath
  1922.  
  1923. mshield2:
  1924. if stat.25=no then call donthaveit
  1925. scost=50
  1926. if scost>stat.15 then call nomrating
  1927. tt 'f1n1c9You have cast a powerful cfShield c9on yourself!w2'
  1928. opstat.47=opstat.47+11
  1929. stat.15=stat.15-scost
  1930. call opdeath
  1931.  
  1932. mmetalstorm:
  1933. if stat.26=no then call donthaveit
  1934. scost=200
  1935. if scost>stat.15 then call nomrating
  1936. tt 'f1n1c9You have cast a powerful cfMetal Storm c9at' opstat.1'w2'
  1937. dam=VRnd(35,45)*stat.10
  1938. tt 'n1c9You didcf' dam 'c9points of damage!w2'
  1939. opstat.3=opstat.3-dam
  1940. stat.15=stat.15-scost
  1941. call opdeath
  1942.  
  1943. mlightning:
  1944. if stat.27=no then call donthaveit
  1945. scost=200
  1946. if scost>stat.15 then call nomrating
  1947. tt 'f1n1c9You have cast a powerful cfLightning Bolt c9at' opstat.1'w2'
  1948. dam=40*stat.10
  1949. tt 'n1c9You didcf' dam 'c9points of damage!w2'
  1950. opstat.3=opstat.3-dam
  1951. stat.15=stat.15-scost
  1952. call opdeath
  1953.  
  1954. mmissile:
  1955. if stat.28=no then call donthaveit
  1956. scost=300
  1957. if scost>stat.15 then call nomrating
  1958. tt 'f1n1c9You have cast a powerful cfMissile c9at' opstat.1'w2'
  1959. dam=VRnd(50,60)*stat.10
  1960. tt 'n1c9You didcf' dam 'c9points of damage!w2'
  1961. opstat.3=opstat.3-dam
  1962. stat.15=stat.15-scost
  1963. call opdeath
  1964.  
  1965. mnuke:
  1966. if stat.29=no then call donthaveit
  1967. scost=700
  1968. if scost>stat.15 then call nomrating
  1969. tt 'f1n1c9You have cast a cfNUKE c9at' pl'w2'
  1970. dam=VRnd(90,110)*stat.10
  1971. tt 'n1c9You didcf' dam 'c9points of damage!w2'
  1972. opstat.3=opstat.3-dam
  1973. stat.15=stat.15-scost
  1974. call opdeath
  1975.  
  1976. mdevastate:
  1977. stat.31=no then call donthaveit
  1978. scost=1000
  1979. if cost>stat.15 then call nomrating
  1980. tt 'f1n1c9You have devastated your enemy!w2'
  1981. opstat.3=opstat.3-1500
  1982. stat.15=stat.15-scost
  1983. call opdeath
  1984.  
  1985. nomrating:
  1986. tt 'n1c9You do not have enough MAGIC RATING to cast this spellw2'
  1987. call mattack
  1988.  
  1989. donthaveit:
  1990. tt 'n1ceYou do not have this spell in your arsenol!!!w2'
  1991. call mattack
  1992.  
  1993. nomagic:
  1994. tt 'n1cfYou do not possess the ability to use magic!!!w2'
  1995. call war3
  1996.  
  1997. war4:
  1998. xzx=VRnd(1,6)
  1999. if xzx=1 then tt 'cbn1You attackcf' opstat.1
  2000. if xzx=2 then tt 'cbn1You lunge forcf' opstat.1'cb with fire in your eyes!'
  2001. if xzx=3 then tt 'cbn1You lift yourcf' stat.13 'cbto attack position and begin'
  2002. if xzx=4 then tt 'cbn1You eyecf' opstat.1'cb carefully and then leap at them!'
  2003. if xzx=5 then tt 'cbn1You allow yourcf' stat.13 'cbto do what it was built for'
  2004. if xzx=6 then tt 'cbn1You gather your faculties and leap into the fray'
  2005. hit=stat.47+opstat.46
  2006. roll=VRnd(1,20)+1
  2007. if roll=21 then signal bigcon
  2008. if roll>hit then SIGNAL connect
  2009. zcz=VRnd(1,6)
  2010. if zcz=1 then tt 'caYou missed,cf' opstat.1'ca, howeverw1'
  2011. if zcz=2 then tt 'caYour attack goes wide right ofcf' opstat.1'w1' 
  2012. if zcz=3 then tt 'caYour assault goes wide leftw1'
  2013. if zcz=4 then tt 'caYour attack with the 'stat.13' missescf 'opstat.1 'w1'
  2014. if zcz=5 then tt 'cf'opstat.1 'caducks beneath your attackw1'
  2015. if zcz=6 then tt 'cf'opstat.1 'casomehow deflects your blow!w1'
  2016. SIGNAL opponenturn
  2017.  
  2018. bigcon:
  2019. tt 'c9s1WOE! A critical blow!s0w1'
  2020. damns=stat.60*2
  2021. opstat.3=opstat.3-damns
  2022. tt 'c9You didcf' damns 'c9in damage!w1'
  2023. SIGNAL opdeath
  2024.  
  2025. connect:
  2026. rd=VRnd(1,8)
  2027. if rd=1 then tt 'c9s1You really poundedcf' opstat.1's0w1'
  2028. if rd=2 then tt 'c9s1Your' stat.13 'just nailedcf' opstat.1's0w1'
  2029. if rd=3 then tt 'c9s1You hitcf' opstat.1 'c9with your' stat.13's0w1'
  2030. if rd=4 then tt 'c9s1You slice intocf' opstat.1's0w1'
  2031. if rd=5 then tt 'c9s1You just really tore intocf' opstat.1's0w1'
  2032. if rd=6 then tt 'c9s1Your attack nailedcf' opstat.1's0w1'
  2033. if rd=7 then tt 'c9s1You are great battling with a' stat.13'!s0w1'
  2034. if rd=8 then tt 'c9s1Blood flies everywhere from your attack!s0w1'
  2035. opstat.3=opstat.3-stat.60
  2036. tt 'c9You didcf' stat.60 'c9in damage!w1'
  2037. call opdeath
  2038.  
  2039. opponenturn:
  2040. if opstat.29=yes then SIGNAL nucker
  2041. if opstat.20=yes then SIGNAL blast
  2042. if opstat.17=yes then SIGNAL storm
  2043. xsx=VRnd(1,4)
  2044. if xsx=1 then tt 'n1cb'opstat.1 'cais attacking you!'
  2045. if xsx=2 then tt 'cbn1'Opstat.1 'caleaps at you with their' opstat.13 'baring down!'
  2046. if xsx=3 then tt 'cbn1'opstat.1 'cacomes at you like a freight train!'
  2047. if xsx=4 then tt 'can1You are under a quick assault fromcb' opstat.1
  2048. SIGNAL opponenturn1
  2049.  
  2050. normal1:
  2051. tt 'cas1Normal hit forc9' opstat.60 'capoints in damage!s0w1'
  2052. stat.3=stat.3-opstat.60
  2053. SIGNAL death
  2054.  
  2055. assattack:
  2056. giga=VRnd(1,10)+opstat.10
  2057. demm=opstat.60/4
  2058. parse var demm demm1"."remds
  2059. demm2=demm1*2
  2060. if giga<10 then SIGNAL normal1
  2061. if giga>9 & giga<15 then temp1=opstat.60+demm1
  2062. if giga>14 & giga<20 then temp1=opstat.60+demm2
  2063. if giga>19 & giga<30 then temp1=opstat.60*2
  2064. if giga>29 then temp1=opstat.60*3
  2065. stat.3=stat.3-temp1
  2066. tt 'c9s1CRITICAL HIT!ca' temp1 'c9damage!s0w1'
  2067. SIGNAL death
  2068.  
  2069. biggerhit:
  2070. temp1=opstat.60*2
  2071. stat.3=stat.3-temp1
  2072. tt 'c9s1CRITICAL HIT!ca' temp1 'c9damage!s0w1'
  2073. SIGNAL death
  2074.  
  2075. opponenturn1:
  2076. ophit=stat.46+opstat.47
  2077. roll=VRnd(1,20)+1
  2078. if roll=21 then signal biggerhit
  2079. if roll>ophit then SIGNAL connect1
  2080. zxz=VRnd(1,6)
  2081. if zxz=1 then tt 'cf'opstat.1 'cebarely misses your head with their' opstat.13 'w1'
  2082. if zxz=2 then tt 'cf'opstat.1 'cemissed you, howeverw1'
  2083. if zxz=3 then tt 'ceA glancing blow but it misses...w1' 
  2084. if zxz=4 then tt 'ceThe assault goes wide leftw1'
  2085. if zxz=5 then tt 'ceThe attack goes wide rightw1'
  2086. if zxz=6 then tt 'ceYou manage to duck in time!w1'
  2087. if con=yes then do;tt 'w1f1';SIGNAL war4;end
  2088. SIGNAL war3
  2089.  
  2090. storm:
  2091. mmcs=opstat.10*5
  2092. if opstat.15<mmcs then SIGNAL opponenturn1
  2093. tt 'cfn1cb'opstat.1 'cfis casting an c9Electric Storm cfat you!w1'
  2094. ddd=15*opstat.10
  2095. tt 's1c9Their cfElectric Stormc9 did' ddd' damage!!s0w1'
  2096. stat.3=stat.3-ddd
  2097. opstat.15=opstat.15-mmcs
  2098. SIGNAL death
  2099.  
  2100. blast:
  2101. mmcs=opstat.10*10
  2102. if opstat.15<mmcs then SIGNAL storm
  2103. tt 'cfn1cb'opstat.1 'cfis casting a c9Blast cfspell at you!w1'
  2104. ddd=20*opstat.10
  2105. tt 's1c9Their Blast did' ddd' damage!!s0w1'
  2106. stat.3=stat.3-ddd
  2107. opstat.15=opstat.15-mmcs
  2108. SIGNAL death
  2109.  
  2110. nucker:
  2111. mmcs=700
  2112. if opstat.15<mmcs then SIGNAL blast
  2113. tt 'cfn1cb'opstat.1 'cfis casting a c9NUKE cfspell at you!w1'
  2114. ddd=100*opstat.10
  2115. tt 's1c9The NUKE didcf' ddd'c9 damage!!s0w1'
  2116. stat.3=stat.3-ddd
  2117. opstat.15=opstat.15-mmcs
  2118. SIGNAL death
  2119.  
  2120. connect1:
  2121. rds=VRnd(1,6)
  2122. if rds=1 then tt 'cfs1'opstat.1 'c9hit you hard!s0w1'
  2123. if rds=2 then tt 'c9s1You were really pummeled that time!s0w1'
  2124. if rds=3 then tt 'c9s1WOW! You were sliced!s0w1'
  2125. if rds=4 then tt 'cfs1'opstat.1'c9 nailed you!s0w1'
  2126. if rds=5 then tt 'c9s1You were hit with their' opstat.13 's0w1'
  2127. if rds=6 then tt 'cas1Your c9bloodca is really starting to floww1s0'
  2128. if opstat.11=assassin & opstat.10>3 then SIGNAL assattack
  2129. if stat.11=knight & stat.10>6 then SIGNAL halfdam
  2130. if stat.11=arms expert & stat.10>8 then SIGNAL halfdam
  2131. stat.3=stat.3-opstat.60
  2132. tt 'c9Ouch! You took cf'opstat.60 'c9points of damage fromcf' opstat.1'w2'
  2133. SIGNAL death
  2134.  
  2135. halfdam:
  2136. hrgd=opstat.60/6
  2137. parse var hrgd damm1"."remds
  2138. damm2=damm1*2
  2139. damm3=damm1*3
  2140. damm4=damm1*4
  2141. hlfd=VRnd(1,10)+stat.10
  2142. if hlfd<15 then damm=opstat.60-damm1
  2143. if hlfd>14 & hlfd<21 then damm=opstat.60-damm2
  2144. if hlfd>20 & hlfd<30 then damm=opstat.60-damm3
  2145. if hlfd>29 then damm=damm4
  2146. stat.3=stat.3-damm
  2147. tt 'caYour warrior soul allowed you to take less damage!c9' damm 'capointsw2'
  2148. SIGNAL death
  2149.  
  2150. death:
  2151. if stat.3>0 & con=yes then do;tt 'f1';SIGNAL war4;end
  2152. if stat.3>0 then SIGNAL war3
  2153. tt 'YIKES!!! That last attack killed you!!w2'
  2154. if fff=optr then opstat.2=opstat.2+VRnd(200,600)*stat.10+stat.2
  2155. stat.2=0
  2156. stat.3=0
  2157. if fff=optr then tt 'He took your life and your money...w2'
  2158. if fff=optr then opstat.9=opstat.9+VRnd(300,500)*stat.10
  2159. tt 'f1'
  2160. sfi spath||'dead.ans'
  2161. tt 'w2f1'
  2162. stat.69=0
  2163. stat.93=1
  2164. x=0
  2165. y=1
  2166. if fff=optr then SIGNAL saveopponent
  2167. SIGNAL quit
  2168.  
  2169. opdeath:
  2170. if opstat.3>0 then SIGNAL opponenturn
  2171. if lll=arena then fight=fight+1
  2172. con=no
  2173. tt 'c1You killed' opstat.1'w2'
  2174. if fff=optr then stat.9=stat.9+VRnd(300,500)*opstat.10
  2175. if fff=optr then stat.2=stat.2+VRnd(200,600)*opstat.10+opstat.2
  2176. if fff=mntr then stat.9=stat.9+monval.mmn
  2177. if fff=mntr & stat.10<15 then stat.2=stat.2+(opstat.2*2)
  2178. if fff=mntr & stat.10>14 then stat.2=stat.2+opstat.2
  2179. if ccc=yes then mondead=yes
  2180. opstat.2=0
  2181. opstat.3=0
  2182. if fff=optr then stat.65=stat.65+1
  2183. tt 'f1'
  2184. sfi spath||'win.ans'
  2185. tt 'w2f1'
  2186. IF HEAD=YES THEN SIGNAL WAR
  2187. if fff=optr then SIGNAL saveopponent
  2188. SIGNAL levelup
  2189.  
  2190. levelup:
  2191. if stat.10>40 then stat.9=50000000000
  2192. if stat.9>stat.64 then call levelgain
  2193. call done2
  2194.  
  2195. done2:
  2196. if stat.65>stat.66 then call out
  2197. if stat.69>0 then call mapcall
  2198. if location=bmarket then call bmarketddd
  2199. call war
  2200.  
  2201. complete1:
  2202. if stat.69>0 then call mapcall
  2203. call war
  2204.  
  2205. out:
  2206. if stat.69>0 then call mapcall
  2207. tt 's1cfYou have fought as many fights as you can today...w2s0'
  2208. call main
  2209.  
  2210. level2:
  2211. if stat.10=2 then call done2
  2212. stat.10=2
  2213. stat.64=5000
  2214. stat.47=stat.47-2
  2215. mig=stat.8+stat.91
  2216. stat.15=stat.15+mig
  2217. stat.16=stat.16+mig 
  2218. lex=stat.79+stat.7
  2219. stat.3=stat.3+lex 
  2220. stat.4=stat.4+lex
  2221. sfi dpath||'hints'
  2222. tt 'f1'
  2223. call done2
  2224.  
  2225. level3:
  2226. if stat.10=3 then call done2
  2227. stat.10=3
  2228. stat.64=10000
  2229. stat.47=stat.47-1
  2230. mig=stat.8+stat.91
  2231. stat.15=stat.15+mig
  2232. stat.16=stat.16+mig 
  2233. lex=stat.79+stat.7
  2234. stat.3=stat.3+lex 
  2235. stat.4=stat.4+lex
  2236. call done1
  2237.  
  2238. level4:
  2239. if stat.10=4 then call done2
  2240. stat.10=4
  2241. if stat.72=yes then stat.18=yes
  2242. stat.64=25000
  2243. stat.47=stat.47-2
  2244. mig=stat.8+stat.91
  2245. stat.15=stat.15+mig
  2246. stat.16=stat.16+mig 
  2247. lex=stat.79+stat.7
  2248. stat.3=stat.3+lex 
  2249. stat.4=stat.4+lex
  2250. call done1
  2251.  
  2252. level5:
  2253. if stat.10=5 then call done2
  2254. stat.10=5
  2255. stat.64=50000
  2256. stat.47=stat.47-1
  2257. mig=stat.8+stat.91
  2258. stat.15=stat.15+mig
  2259. stat.16=stat.16+mig 
  2260. lex=stat.79+stat.7
  2261. stat.3=stat.3+lex 
  2262. stat.4=stat.4+lex
  2263. call done1
  2264.  
  2265. level6:
  2266. if stat.10=6 then call done2
  2267. stat.10=6
  2268. stat.64=100000
  2269. if stat.72=yes then stat.20=yes
  2270. mig=stat.8+stat.91
  2271. stat.15=stat.15+mig
  2272. stat.16=stat.16+mig 
  2273. stat.47=stat.47-2
  2274. lex=stat.79+stat.7
  2275. stat.3=stat.3+lex 
  2276. stat.4=stat.4+lex
  2277. call done1
  2278.  
  2279. level7:
  2280. if stat.10=7 then call done2
  2281. stat.10=7
  2282. stat.64=160000
  2283. stat.47=stat.47-1
  2284. mig=stat.8+stat.91
  2285. stat.15=stat.15+mig
  2286. stat.16=stat.16+mig 
  2287. lex=stat.79+stat.7
  2288. stat.3=stat.3+lex 
  2289. stat.4=stat.4+lex
  2290. call done1
  2291.  
  2292. level8:
  2293. if stat.10=8 then call done2
  2294. stat.10=8
  2295. stat.64=300000
  2296. stat.47=stat.47-2
  2297. mig=stat.8+stat.91
  2298. if stat.72=yes then stat.21=yes
  2299. stat.15=stat.15+mig
  2300. stat.16=stat.16+mig 
  2301. lex=stat.79+stat.7
  2302. stat.3=stat.3+lex 
  2303. stat.4=stat.4+lex 
  2304. call done1
  2305.  
  2306.  
  2307. level9:
  2308. if stat.10=9 then call done2
  2309. stat.10=9
  2310. stat.64=500000
  2311. stat.47=stat.47-1
  2312. mig=stat.8+stat.91
  2313. stat.15=stat.15+mig
  2314. stat.16=stat.16+mig 
  2315. lex=stat.79+stat.7
  2316. stat.3=stat.3+lex 
  2317. stat.4=stat.4+lex 
  2318. call done1
  2319.  
  2320. level10:
  2321. if stat.10=10 then call done2
  2322. stat.10=10
  2323. stat.64=1000000
  2324. stat.47=stat.47-2
  2325. mig=stat.8+stat.91
  2326. stat.15=stat.15+mig
  2327. if stat.72=yes then stat.22=yes
  2328. stat.16=stat.16+mig 
  2329. lex=stat.79+stat.7
  2330. stat.3=stat.3+lex 
  2331. stat.4=stat.4+lex 
  2332. call done1
  2333.  
  2334. level11:
  2335. if stat.10=11 then call done2
  2336. stat.10=11
  2337. stat.64=1500000
  2338. stat.47=stat.47-1
  2339. mig=stat.8+stat.91
  2340. stat.15=stat.15+mig
  2341. stat.16=stat.16+mig 
  2342. lex=stat.79+stat.7
  2343. stat.3=stat.3+lex 
  2344. stat.4=stat.4+lex 
  2345. call done1
  2346.  
  2347. level12:
  2348. if stat.10=12 then call done2
  2349. stat.10=12
  2350. stat.64=2500000
  2351. stat.47=stat.47-2
  2352. mig=stat.8+stat.91
  2353. stat.15=stat.15+mig
  2354. stat.16=stat.16+mig 
  2355. if stat.72=yes then stat.23=yes
  2356. lex=stat.79+stat.7
  2357. stat.3=stat.3+lex 
  2358. stat.4=stat.4+lex 
  2359. call done1
  2360.  
  2361. level13:
  2362. if stat.10=13 then call done2
  2363. stat.10=13
  2364. stat.64=4500000
  2365. stat.47=stat.47-1
  2366. mig=stat.8+stat.91
  2367. stat.15=stat.15+mig
  2368. stat.16=stat.16+mig 
  2369. lex=stat.79+stat.7
  2370. stat.3=stat.3+lex 
  2371. stat.4=stat.4+lex 
  2372. call done1
  2373.  
  2374. level14:
  2375. if stat.10=14 then call done2
  2376. stat.10=14
  2377. stat.64=7000000
  2378. stat.47=stat.47-2
  2379. mig=stat.8+stat.91
  2380. stat.15=stat.15+mig
  2381. stat.16=stat.16+mig 
  2382. if stat.72=yes then stat.24=yes
  2383. lex=stat.79+stat.7
  2384. stat.3=stat.3+lex 
  2385. stat.4=stat.4+lex 
  2386. call done1
  2387.  
  2388. level15:
  2389. if stat.10=15 then call done2
  2390. stat.10=15
  2391. stat.64=9000000
  2392. stat.47=stat.47-2
  2393. mig=stat.8+stat.91
  2394. stat.15=stat.15+mig
  2395. stat.16=stat.16+mig 
  2396. lex=stat.79+stat.7
  2397. stat.3=stat.3+lex 
  2398. stat.4=stat.4+lex 
  2399. call done1
  2400.  
  2401. level16:
  2402. if stat.10=16 then call done2
  2403. stat.10=16
  2404. stat.64=12000000
  2405. stat.47=stat.47-2
  2406. mig=stat.8+stat.91
  2407. stat.15=stat.15+mig
  2408. stat.16=stat.16+mig 
  2409. lex=stat.79+stat.7
  2410. if stat.72=yes then stat.25=yes
  2411. stat.3=stat.3+lex 
  2412. stat.4=stat.4+lex 
  2413. call done1
  2414.  
  2415. level17:
  2416. if stat.10=17 then call done2
  2417. stat.10=17
  2418. stat.64=15000000
  2419. stat.47=stat.47-2
  2420. mig=stat.8+stat.91
  2421. stat.15=stat.15+mig
  2422. stat.16=stat.16+mig 
  2423. lex=stat.79+stat.7
  2424. stat.3=stat.3+lex 
  2425. stat.4=stat.4+lex 
  2426. call done1
  2427.  
  2428. level18:
  2429. if stat.10=18 then call done2
  2430. stat.10=18
  2431. stat.64=18000000
  2432. stat.47=stat.47-2
  2433. mig=stat.8+stat.91
  2434. stat.15=stat.15+mig
  2435. stat.16=stat.16+mig 
  2436. if stat.72=yes then stat.27=yes
  2437. lex=stat.79+stat.7
  2438. stat.3=stat.3+lex 
  2439. stat.4=stat.4+lex 
  2440. call done1
  2441.  
  2442. level19:
  2443. if stat.10=19 then call done2
  2444. stat.10=19
  2445. stat.64=21000000
  2446. stat.47=stat.47-2
  2447. mig=stat.8+stat.91
  2448. stat.15=stat.15+mig
  2449. stat.16=stat.16+mig 
  2450. lex=stat.79+stat.7
  2451. stat.3=stat.3+lex 
  2452. stat.4=stat.4+lex 
  2453. call done1
  2454.  
  2455. level20:
  2456. if stat.10=20 then call done2
  2457. stat.10=20
  2458. stat.64=24000000
  2459. stat.47=stat.47-2
  2460. mig=stat.8+stat.91
  2461. stat.15=stat.15+mig
  2462. stat.16=stat.16+mig 
  2463. lex=stat.79+stat.7
  2464. stat.3=stat.3+lex 
  2465. stat.4=stat.4+lex
  2466. call done1
  2467.  
  2468. level21:
  2469. if stat.10=21 then call done2
  2470. stat.10=21
  2471. stat.64=27000000
  2472. stat.47=stat.47-1
  2473. mig=stat.8+stat.91
  2474. stat.15=stat.15+mig
  2475. stat.16=stat.16+mig 
  2476. lex=stat.79+stat.7
  2477. stat.3=stat.3+lex 
  2478. stat.4=stat.4+lex
  2479. call done1
  2480.  
  2481. level22:
  2482. if stat.10=22 then call done2
  2483. stat.10=22
  2484. if stat.72=yes then stat.28=yes
  2485. stat.64=3000000
  2486. stat.47=stat.47-2
  2487. mig=stat.8+stat.91
  2488. stat.15=stat.15+mig
  2489. stat.16=stat.16+mig 
  2490. lex=stat.79+stat.7
  2491. stat.3=stat.3+lex 
  2492. stat.4=stat.4+lex
  2493. call done1
  2494.  
  2495. level23:
  2496. if stat.10=23 then call done2
  2497. stat.10=23
  2498. stat.64=35000000
  2499. stat.47=stat.47-1
  2500. mig=stat.8+stat.91
  2501. stat.15=stat.15+mig
  2502. stat.16=stat.16+mig 
  2503. lex=stat.79+stat.7
  2504. stat.3=stat.3+lex 
  2505. stat.4=stat.4+lex
  2506. call done1
  2507.  
  2508. level24:
  2509. if stat.10=24 then call done2
  2510. stat.10=24
  2511. stat.64=40000000
  2512. if stat.72=yes then stat.29=yes
  2513. mig=stat.8+stat.91
  2514. stat.15=stat.15+mig
  2515. stat.16=stat.16+mig 
  2516. stat.47=stat.47-2
  2517. lex=stat.79+stat.7
  2518. stat.3=stat.3+lex 
  2519. stat.4=stat.4+lex
  2520. call done1
  2521.  
  2522. level25:
  2523. if stat.10=25 then call done2
  2524. stat.10=25
  2525. stat.64=45000000
  2526. stat.47=stat.47-1
  2527. mig=stat.8+stat.91
  2528. stat.15=stat.15+mig
  2529. stat.16=stat.16+mig 
  2530. lex=stat.79+stat.7
  2531. stat.3=stat.3+lex 
  2532. stat.4=stat.4+lex
  2533. call done1
  2534.  
  2535. level26:
  2536. if stat.10=26 then call done2
  2537. stat.10=26
  2538. stat.64=50000000
  2539. stat.47=stat.47-2
  2540. mig=stat.8+stat.91
  2541. stat.15=stat.15+mig
  2542. stat.16=stat.16+mig
  2543. lex=stat.79+stat.7
  2544. stat.3=stat.3+lex 
  2545. stat.4=stat.4+lex 
  2546. call done1
  2547.  
  2548. level27:
  2549. if stat.10=27 then call done2
  2550. stat.10=27
  2551. stat.64=55000000
  2552. stat.47=stat.47-1
  2553. mig=stat.8+stat.91
  2554. stat.15=stat.15+mig
  2555. stat.16=stat.16+mig 
  2556. lex=stat.79+stat.7
  2557. stat.3=stat.3+lex 
  2558. stat.4=stat.4+lex 
  2559. call done1
  2560.  
  2561. level28:
  2562. if stat.10=28 then call done2
  2563. stat.10=28
  2564. stat.64=60000000
  2565. stat.47=stat.47-2
  2566. mig=stat.8+stat.91
  2567. stat.15=stat.15+mig
  2568. stat.16=stat.16+mig 
  2569. lex=stat.79+stat.7
  2570. stat.3=stat.3+lex 
  2571. stat.4=stat.4+lex 
  2572. call done1
  2573.  
  2574. level29:
  2575. if stat.10=29 then call done2
  2576. stat.10=29
  2577. stat.64=65000000
  2578. stat.47=stat.47-1
  2579. mig=stat.8+stat.91
  2580. stat.15=stat.15+mig
  2581. stat.16=stat.16+mig 
  2582. lex=stat.79+stat.7
  2583. stat.3=stat.3+lex 
  2584. stat.4=stat.4+lex 
  2585. call done1
  2586.  
  2587. level30:
  2588. if stat.10=30 then call done2
  2589. stat.10=30
  2590. stat.64=70000000
  2591. stat.47=stat.47-2
  2592. mig=stat.8+stat.91
  2593. stat.15=stat.15+mig
  2594. stat.16=stat.16+mig 
  2595. lex=stat.79+stat.7
  2596. stat.3=stat.3+lex 
  2597. stat.4=stat.4+lex 
  2598. call done1
  2599.  
  2600. level31:
  2601. if stat.10=31 then call done2
  2602. stat.10=31
  2603. stat.64=75000000
  2604. stat.47=stat.47-2
  2605. mig=stat.8+stat.91
  2606. stat.15=stat.15+mig
  2607. stat.16=stat.16+mig 
  2608. lex=stat.79+stat.7
  2609. stat.3=stat.3+lex 
  2610. stat.4=stat.4+lex 
  2611. call done1
  2612.  
  2613. level32:
  2614. if stat.10=32 then call done2
  2615. stat.10=32
  2616. stat.64=80000000
  2617. stat.47=stat.47-2
  2618. mig=stat.8+stat.91
  2619. stat.15=stat.15+mig
  2620. stat.16=stat.16+mig 
  2621. lex=stat.79+stat.7
  2622. stat.3=stat.3+lex 
  2623. stat.4=stat.4+lex 
  2624. call done1
  2625.  
  2626. level33:
  2627. if stat.10=33 then call done2
  2628. stat.10=33
  2629. stat.64=85000000
  2630. stat.47=stat.47-2
  2631. mig=stat.8+stat.91
  2632. stat.15=stat.15+mig
  2633. stat.16=stat.16+mig 
  2634. lex=stat.79+stat.7
  2635. stat.3=stat.3+lex 
  2636. stat.4=stat.4+lex 
  2637. call done1
  2638.  
  2639. level34:
  2640. if stat.10=34 then call done2
  2641. stat.10=34
  2642. stat.64=90000000
  2643. stat.47=stat.47-2
  2644. mig=stat.8+stat.91
  2645. stat.15=stat.15+mig
  2646. stat.16=stat.16+mig 
  2647. lex=stat.79+stat.7
  2648. stat.3=stat.3+lex 
  2649. stat.4=stat.4+lex 
  2650. call done1
  2651.  
  2652. level35:
  2653. if stat.10=35 then call done2
  2654. stat.10=35
  2655. stat.64=95000000
  2656. stat.47=stat.47-2
  2657. mig=stat.8+stat.91
  2658. stat.15=stat.15+mig
  2659. stat.16=stat.16+mig 
  2660. lex=stat.79+stat.7
  2661. stat.3=stat.3+lex 
  2662. stat.4=stat.4+lex 
  2663. call done1
  2664.  
  2665. level36:
  2666. if stat.10=36 then call done2
  2667. stat.10=36
  2668. stat.64=100000000
  2669. stat.47=stat.47-2
  2670. mig=stat.8+stat.91
  2671. stat.15=stat.15+mig
  2672. stat.16=stat.16+mig 
  2673. lex=stat.79+stat.7
  2674. stat.3=stat.3+lex 
  2675. stat.4=stat.4+lex 
  2676. call done1
  2677.  
  2678. level37:
  2679. if stat.10=37 then call done2
  2680. stat.10=37
  2681. stat.64=110000000
  2682. stat.47=stat.47-1
  2683. mig=stat.8+stat.91
  2684. stat.15=stat.15+mig
  2685. stat.16=stat.16+mig 
  2686. lex=stat.79+stat.7
  2687. stat.3=stat.3+lex 
  2688. stat.4=stat.4+lex 
  2689. call done1
  2690.  
  2691. level38:
  2692. if stat.10=38 then call done2
  2693. stat.10=38
  2694. stat.64=130000000
  2695. stat.47=stat.47-2
  2696. mig=stat.8+stat.91
  2697. stat.15=stat.15+mig
  2698. stat.16=stat.16+mig 
  2699. lex=stat.79+stat.7
  2700. stat.3=stat.3+lex 
  2701. stat.4=stat.4+lex 
  2702. call done1
  2703.  
  2704. level39:
  2705. if stat.10=39 then call done2
  2706. stat.10=39
  2707. stat.64=150000000
  2708. stat.47=stat.47-1
  2709. mig=stat.8+stat.91
  2710. stat.15=stat.15+mig
  2711. stat.16=stat.16+mig 
  2712. lex=stat.79+stat.7
  2713. stat.3=stat.3+lex 
  2714. stat.4=stat.4+lex 
  2715. call done1
  2716.  
  2717. level40:
  2718. if stat.10=40 then call done2
  2719. stat.10=40
  2720. stat.64=200000000
  2721. stat.47=stat.47-2
  2722. mig=stat.8+stat.91
  2723. stat.15=stat.15+mig
  2724. stat.16=stat.16+mig 
  2725. lex=stat.79+stat.7
  2726. stat.3=stat.3+lex 
  2727. stat.4=stat.4+lex 
  2728. call done1
  2729.  
  2730. level41:
  2731. if stat.10=41 then call done2
  2732. stat.10=41
  2733. stat.64=99999999999999
  2734. stat.47=stat.47-1
  2735. mig=stat.8+stat.91
  2736. stat.15=stat.15+mig
  2737. stat.16=stat.16+mig 
  2738. lex=stat.79+stat.7
  2739. stat.3=stat.3+lex 
  2740. stat.4=stat.4+lex 
  2741. call done1
  2742.  
  2743. done1:
  2744. tt 's1c9Congratulations,cf' stat.1'c9! You are now levelcf' stat.10's0w2'
  2745. call done2
  2746.  
  2747. wimp:
  2748. tt 'ce'opstat.1 'is not up to your skill level. Try someone elsew2'
  2749. call war
  2750.  
  2751. levelgain:
  2752. if stat.10=1 then call level2
  2753. if stat.10=2 then call level3
  2754. if stat.10=3 then call level4
  2755. if stat.10=4 then call level5
  2756. if stat.10=5 then call level6
  2757. if stat.10=6 then call level7
  2758. if stat.10=7 then call level8
  2759. if stat.10=8 then call level9
  2760. if stat.10=9 then call level10
  2761. if stat.10=10 then call level11
  2762. if stat.10=11 then call level12
  2763. if stat.10=12 then call level13
  2764. if stat.10=13 then call level14
  2765. if stat.10=14 then call level15
  2766. if stat.10=15 then call level16
  2767. if stat.10=16 then call level17
  2768. if stat.10=17 then call level18
  2769. if stat.10=18 then call level19
  2770. if stat.10=19 then call level20
  2771. if stat.10=20 then call level21
  2772. if stat.10=21 then call level22
  2773. if stat.10=22 then call level23
  2774. if stat.10=23 then call level24
  2775. if stat.10=24 then call level25
  2776. if stat.10=25 then call level26
  2777. if stat.10=26 then call level27
  2778. if stat.10=27 then call level28
  2779. if stat.10=28 then call level29
  2780. if stat.10=29 then call level30
  2781. if stat.10=30 then call level31
  2782. if stat.10=31 then call level32
  2783. if stat.10=32 then call level33
  2784. if stat.10=33 then call level34
  2785. if stat.10=34 then call level35
  2786. if stat.10=35 then call level36
  2787. if stat.10=36 then call level37
  2788. if stat.10=37 then call level38
  2789. if stat.10=38 then call level39
  2790. if stat.10=39 then call level40
  2791. if stat.10=40 then call level41
  2792. call done2
  2793.  
  2794. bank:
  2795. if stat.101>3 then call comebacklater
  2796. tt 'f1n2cfWelcome to the c9Battle Landscf bankw2'
  2797. tt 'n1cbQcauit   cbScatart Account   cbEcanter Bank'
  2798. sx 'n1cfWhat do you wish to do?? '
  2799. getchar
  2800. bk=upper(result);tt 'cb'bk
  2801. if bk=p then call quit
  2802. if bk='' then call bank
  2803. if bk='/' then call main
  2804. if bk='Q' then call main
  2805. if bk='S' then call setupb
  2806. if bk='E' then call access1
  2807. call bank
  2808.  
  2809. comebacklater:
  2810. tt 'ceYou have visited the bank too many times todayw2'
  2811. call main
  2812.  
  2813. setupb:
  2814. tt 'n1cdSo now you must choose a personal account number!w2'
  2815. tt 'n1cfPlease follow these rules:'
  2816. tt '1. Do not make the account number more than 10 digits.'
  2817. tt '2. Do not make the account number with all zeros (0).'
  2818. tt '3. Use only numbers (0-9).'
  2819. tt '4. Remember the number if you plan on accessing your account.'
  2820. query 'n1cbEnter your account number herece>>> '
  2821. acc=upper(result);tt 'c9'acc
  2822. if acc=p then call quit
  2823. if acc='' then call setupb
  2824. if acc='/' then call bank
  2825. if acc='Q' then call bank
  2826. if acc>9999999999 then call setupb
  2827. stat.73=acc
  2828. account1=0
  2829. call banksave
  2830.  
  2831. banksave:
  2832. call open(1,upath'bank/'||acc,'w')
  2833. call writeln(1,stat.1)
  2834. call writeln(1,account1)
  2835. call close(1)
  2836. stat.73=acc
  2837. call access1
  2838.  
  2839. banksave1:
  2840. call open(1,upath'bank/'||acc,'w')
  2841. call writeln(1,nameb)
  2842. call writeln(1,account1)
  2843. call close(1)
  2844. call bankact
  2845.  
  2846. access1:
  2847. stat.101=stat.101+1
  2848. query 'f1n2caENTER YOUR ACCOUNT# c9[Return=Your Pin]ca>> '
  2849. acc=upper(result);tt 'c9'acc
  2850. if acc=p then call quit
  2851. if acc='Q' then call main
  2852. if acc='/' then call main
  2853. if acc='' & stat.73>0 then acc=stat.73
  2854. if exists(upath'bank/'acc)=1 then call bankload
  2855. tt 'ccNO SUCH ACCOUNT ON RECORDw2'
  2856. call access1
  2857.  
  2858. Bankload:
  2859. call open(1,upath||'bank/'||acc,'r')
  2860. nameb=readln(1)
  2861. account1=readln(1)
  2862. call close(1)
  2863. call bankact
  2864.  
  2865. bankact:
  2866. tt 'cfWelcomece' nameb 'cf. You have $ce' account1 'cfin your account.'
  2867. tt 'cfYou have $ce' stat.2 'cfin your pocket!'
  2868. sx 'n1caWould you like to c9Dcaepositc9 Wcaithdraw orc9 Qcauit? '
  2869. getchar
  2870. act=upper(result)
  2871. if act='' then call bankact
  2872. if act=p then call quit
  2873. if act='W' then call withdr
  2874. if act='D' then call deposit1
  2875. if act='Q' then call main
  2876. if act='/' then call bank
  2877. tt ''
  2878. call bankact
  2879.  
  2880. deposit1:
  2881. query 'can1Deposit how much?c9 [Return=ALL] '
  2882. dpt=upper(result);tt 'cb'dpt
  2883. if dpt='' then do;account1=stat.2+account1;stat.2=stat.2-stat.2;call banksave1;end
  2884. if dpt>stat.2 then call bankact
  2885. if dpt=p then call quit
  2886. if dpt='Q' then call main
  2887. if dpt='/' then call main
  2888. stat.2=stat.2-dpt
  2889. account1=account1+dpt
  2890. call banksave1
  2891.  
  2892. withdr:
  2893. if account1<1 then do;tt 'n1c9NO MONEY TO WITHDRAWw2';call bankact;end
  2894. query 'can1Withdraw how much?c9 [Return=ALL] '
  2895. wdr=upper(result);tt 'ca'wdr
  2896. if wdr>account1 then call bankact
  2897. if wdr=p then call quit
  2898. if wdr='' then do;stat.2=stat.2+account1;account1=account1-account1;call banksave1;end
  2899. account1=account1-wdr
  2900. stat.2=stat.2+wdr
  2901. call banksave1
  2902.  
  2903. dope:
  2904. tt 'n1c9You have no money to withdraw.w2'
  2905. call bankact
  2906.  
  2907. quit:
  2908. tt 'f1'
  2909. tt 'n1c3Ending this round and saving your current stats...'
  2910. call savestats
  2911. tt 'n1c6Finished...w1'
  2912. exit
  2913.  
  2914. camp:
  2915. tt 'f1'
  2916. tt 'n1c5You decided to bed down here for the night...'
  2917. call savestats
  2918. tt 'n1c6Your statistics and location have been saved...w1'
  2919. exit
  2920.  
  2921. savestats:
  2922. call open(1,upath'stats/'||name,'w')
  2923. do i=1 to 110
  2924.  call writeln(1,stat.i)
  2925. end
  2926. call close(1)
  2927. return
  2928.  
  2929. healershop:
  2930. tt 'f1n2cdHellocf' stat.1 'cdand welcome to the healer...'
  2931. tt 'n1ccOur rates are $10 for each health & Magic point healed...'
  2932. tt 'n1ceWhat would you like done?'
  2933. tt 'n1cdYour current health is:cf' stat.3 'cdof a possible:cf' stat.4
  2934. tt 'cdYour current magic rating is:cf' stat.15 'cdof a possible:cf' stat.16
  2935. tt 'cdYour wallet contains $cf'stat.2
  2936. tt 'n1c9Qcauit  c9Hcaeal All  c9Pcaoint Heal  c9Mcaagic Rating'
  2937. query 'n1cfRelax & Input Your Desirece>>> '
  2938. pt=upper(result);tt 'ce'pt
  2939. if pt=p then call quit
  2940. if pt='' then call healershop
  2941. if pt='Q' then call main
  2942. if pt='/' then call main
  2943. if pt='H' then call healall
  2944. if pt='P' then call pointheal
  2945. if pt='M' then call magicheal
  2946. if pt=freebie then call cheatheal
  2947. if pt=agilup then call agilb
  2948. if pt=brainboy then call mentalb
  2949. if pt=beback then call strenb
  2950. if pt=feelgood then call endurb
  2951. call healershop
  2952.  
  2953. agilb:
  2954. tt 'can1We raised the prices. This procedure will cost $3,000,000.00w1'
  2955. if stat.2<3000000 then call broke
  2956. tt 'n1c9s1This will take a while....'
  2957. tt 'n1cfA few days later you are much more agile...w2s0'
  2958. stat.6=stat.6+3
  2959. stat.46=stat.46+1
  2960. stat.2=stat.2-3000000
  2961. call main
  2962.  
  2963. mentalb:
  2964. tt 'can1We raised the prices. This procedure will cost $4,000,000.00w1'
  2965. if stat.2<4000000 then call broke
  2966. tt 'n1c9s1This will take a while....'
  2967. tt 'n1cfA few days later you are much more intelligent...w2s0'
  2968. stat.8=stat.8+3
  2969. stat.2=stat.2-4000000
  2970. call main
  2971.  
  2972. strenb:
  2973. tt 'can1We raised the prices. This procedure will cost $5,000,000.00w1'
  2974. if stat.2<5000000 then call broke
  2975. tt 'n1c9s1This will take a while....'
  2976. tt 'n1cfA few days later you are much stronger...w2s0'
  2977. stat.5=stat.5+3
  2978. stat.63=stat.63+2
  2979. stat.2=stat.2-5000000
  2980. call main
  2981.  
  2982. endurb:
  2983. tt 'can1We raised the prices. This procedure will cost $6,000,000.00w1'
  2984. if stat.2<6000000 then call broke
  2985. tt 'n1c9s1This will take a while....'
  2986. tt 'n1cfA few days later you are much more durable...w2s0'
  2987. stat.7=stat.7+3
  2988. stat.3=stat.3+100
  2989. stat.4=stat.4+100
  2990. stat.2=stat.2-6000000
  2991. call main
  2992.  
  2993. cheatheal:
  2994. if stat.10<8 then do;tt 'caGet out of here, cheapskate! No freebies for low lifes!w2';call main;end
  2995. tt 'cfYou must work for the government. We shall heal you for free!w2'
  2996. stat.3=stat.4
  2997. stat.15=stat.16
  2998. call main
  2999.  
  3000. healall:
  3001. pts=stat.4-stat.3
  3002. meg=stat.16-stat.15
  3003. acost=pts*10
  3004. mcost=meg*10
  3005. hcost=acost+mcost
  3006. if hcost>stat.2 then call broke
  3007. tt 'c6s1Making you better...s0w2'
  3008. stat.3=stat.4
  3009. stat.15=stat.16
  3010. stat.2=stat.2-hcost
  3011. tt 'ces1All better now...s0w2'
  3012. call main
  3013.  
  3014. magicheal:
  3015. query 'ceHow many Magic Rating Points do you want healed? '
  3016. mgp=upper(result);tt 'cb'mgp
  3017. if mgp=p then call quit
  3018. if mgp='Q' then call healershop
  3019. if mgp='/' then call healershop
  3020. if mgp='' then call magicheal
  3021. if mgp*10>stat.2 then call broke
  3022. if mgp>stat.16-stat.15 then call noway1
  3023. stat.15=stat.15+mgp
  3024. stat.2=stat.2-mgp*10
  3025. tt 'cbYou have been healedcf' mgp 'w2'
  3026. call main
  3027.  
  3028. noway1:
  3029. tt 'cfYou cannot have more thance' stat.16 'cf magic points!w2'
  3030. call magicheal
  3031.  
  3032. pointheal:
  3033. query 'ceHow many points do you wish to heal?w2 ';
  3034. pnts=upper(result);tt 'cb'pnts
  3035. if pnts=p then call quit
  3036. if pnts='Q' then call healershop
  3037. if pnts='/' then call healershop
  3038. if pnts='' then call pointheal
  3039. if pnts*10>stat.2 then call broke
  3040. if pnts>stat.4-stat.3 then call noway
  3041. stat.3=stat.3+pnts
  3042. stat.2=stat.2-pnts*10
  3043. tt 'cbYou have been healedcf' pnts 'w2'
  3044. call main
  3045.  
  3046. noway:
  3047. tt 'cfYou cannot have more thance' stat.4 'cfpoints!w2'
  3048. call pointheal
  3049.  
  3050. broke:
  3051. tt 'c9I am sorry you do not have the funds for this optionw2'
  3052. call healershop
  3053.  
  3054. call main
  3055.  
  3056. error:
  3057. syntax:
  3058. call close(1)
  3059. call close(2)
  3060. call close(3)
  3061. tt 'c7Error at line 'sigl' in Battle Lands'
  3062. tt sourceline(sigl)
  3063. call savestats
  3064. exit
  3065.  
  3066. monsterattack:
  3067. zzz=fzd
  3068. moves=0
  3069. mat=VRnd(1,15)
  3070. if mat<12 & mat>0 then SIGNAL MAPSIGNAL
  3071. MOVES=0
  3072. if mat>11  then call montack
  3073. call move 
  3074.  
  3075. montack:
  3076. MOVES=0
  3077. if zzz=fzd then tt 'c9Your position has been compromised! You have been discovered!w1'
  3078. fff=mntr
  3079. if stat.69=3 then call mon11
  3080. if stat.69=4 then call mon12
  3081. if stat.69=6 then call mon13
  3082. if stat.10=1 then call mon1
  3083. if stat.10=2 then call mon1
  3084. if stat.10=3 then call mon2
  3085. if stat.10=4 then call mon2
  3086. if stat.10=5 then call mon3
  3087. if stat.10=6 then call mon3
  3088. if stat.10=7 then call mon4
  3089. if stat.10=8 then call mon4
  3090. if stat.10=9 then call mon5
  3091. if stat.10=10 then call mon5
  3092. if stat.10=11 then call mon6
  3093. if stat.10=12 then call mon6
  3094. if stat.10=13 then call mon7
  3095. if stat.10=14 then call mon7
  3096. if stat.10=15 then call mon8
  3097. if stat.10=16 then call mon8
  3098. if stat.10=17 then call mon9
  3099. if stat.10=18 then call mon9
  3100. call mon10
  3101.  
  3102. mon1:
  3103. mon=mon1
  3104. mmn=Vrnd(1,16) 
  3105. call loadmonster1
  3106.  
  3107. mon2:
  3108. mon=mon2
  3109. mmn=VRnd(1,10) 
  3110. call loadmonster1
  3111.  
  3112. mon3:
  3113. mon=mon3
  3114. mmn=VRnd(1,11)
  3115. call loadmonster1
  3116.  
  3117. mon4:
  3118. mon=mon4
  3119. mmn=VRnd(1,9)
  3120. call loadmonster1
  3121.  
  3122. mon5:
  3123. mon=mon5
  3124. mmn=VRnd(1,12)
  3125. call loadmonster1
  3126.  
  3127. Mon6:
  3128. mon=Mon6
  3129. mmn=VRnd(1,14)
  3130. call loadmonster1
  3131.  
  3132. mon7:
  3133. mon=mon7
  3134. mmn=VRnd(1,13)
  3135. call loadmonster1
  3136.  
  3137. mon8:
  3138. mon=mon8
  3139. mmn=VRnd(1,12)
  3140. call loadmonster1 
  3141.  
  3142. mon9:
  3143. mon=mon9
  3144. mmn=VRnd(1,11)
  3145. call loadmonster1 
  3146.  
  3147. mon10:
  3148. mon=mon10
  3149. mmn=VRnd(1,12)
  3150. call loadmonster1 
  3151.  
  3152. mon11:
  3153. mon=mon11
  3154. mmn=Vrnd(1,5)
  3155. call loadmonster1
  3156.  
  3157. mon12:
  3158. mon=mon12
  3159. mmn=VRnd(1,3)
  3160. call loadmonster1
  3161.  
  3162. mon13:
  3163. mon=mon13
  3164. mmn=VRnd(1,4)
  3165. call loadmonster1
  3166.  
  3167. bypass:
  3168. tt 'f1n2cbYou have nothing to fear, however, with c1Doccb at your side!w3f1'
  3169. call move
  3170.  
  3171. loadmonster1:
  3172. rnturn=0
  3173. if xax=yes then mmn=1
  3174. zzz=aaa
  3175. call open(1,epath||mon)
  3176. do i=1 to 16
  3177.   monhealth.i=readln(1)
  3178.   mondam.i=readln(1)
  3179.   monwep.i=readln(1)
  3180.   monval.i=readln(1)
  3181.   monney.i=readln(1)
  3182.   monthaco.i=readln(1)
  3183.   monac.i=readln(1)
  3184.   mondes.i=readln(1)
  3185.   monagil.i=readln(1)
  3186.   monname.i=readln(1) 
  3187. end
  3188. call close(1)
  3189. opstat.1=monname.mmn
  3190. pl=mon
  3191. opstat.3=monhealth.mmn
  3192. opstat.60=mondam.mmn
  3193. opstat.13=monwep.mmn
  3194. opstat.2=monney.mmn
  3195. opstat.47=monthaco.mmn
  3196. opstat.46=monac.mmn
  3197. opstat.11=monster
  3198. opstat.6=monagil.mmn
  3199. xax=no
  3200. call battle
  3201.  
  3202. battle:
  3203. tt 'cfs1'mondes.mmn 's0w2f1'
  3204. if stat.6>monagil.mmn then call war3
  3205. tt 'n1cf' monname.mmn 'is faster than you! Too bad!w2f1'
  3206. call opponenturn
  3207.  
  3208. college:
  3209. tt 'f1'
  3210. sfi mmpath||'school.ans'
  3211. tt 'n1ceYou have $cf'stat.2 'ceto spend'
  3212. query 'n1cbChoose a course for studyca>>c9 '
  3213. col=upper(result);tt col
  3214. if col=p then call quit
  3215. if col='' then call college
  3216. if col='Q' then call main
  3217. if col='/' then call main
  3218. if col='1' then col=mount
  3219. if col='2' then col=comp
  3220. if col='3' then col=hist
  3221. if col='4' then col=sales
  3222. if col='5' then col=gove
  3223. if col='6' then col=medi
  3224. if col='7' then col=relig
  3225. if col='8' then col=racestud
  3226. if col='9' then col=defend
  3227. if col='10' then col=assail
  3228. if col='11' then col=disguy
  3229. if col='12' then col=gambler
  3230. if exists(sspath||col)=1 then call skillbought1
  3231. call college
  3232.  
  3233. skillbought1:
  3234. call open(1,sspath||col)
  3235. coltag=readln(1)
  3236. colcost=readln(1)
  3237. call close(1)
  3238. if stat.2>colcost then call skillbought2
  3239. tt 'ceYou do not have the funds necessary to join this course!w2'
  3240. call college
  3241.  
  3242. skillbought2:
  3243. tt 'cdAce 'coltag 'cdcosts $ce'colcost
  3244. sx 'cbDo you wish to study this?c9 [No]ce '
  3245. getchar
  3246. cn=upper(result);tt 'cb'cn
  3247. if cn=p then quit
  3248. if cn='Y' then call skillbought3
  3249. tt 'ceMake up your mind!w2'
  3250. call college
  3251.  
  3252. skillbought3:
  3253. if col=mount then call mount1
  3254. if col=comp then call comp1
  3255. if col=hist then call hist1
  3256. if col=sales then call sales1
  3257. if col=gove then call gove1
  3258. if col=medi then call medi1
  3259. if col=relig then call relig1
  3260. if col=racestud then call racestud1
  3261. if col=defend then call defend1
  3262. if col=assail then call assail1
  3263. if col=disguy then call disguy1
  3264. if col=gambler then call gambler1
  3265.  
  3266. mount1:
  3267. if stat.49>99 then call toosmart
  3268. skl=Vrnd(35,60+stat.8)
  3269. stat.49=stat.49+skl
  3270. if stat.49>100 then stat.49=100
  3271. tt 'caYou got acb' skl 'camaking your skill level:cb' stat.49'w2'
  3272. stat.2=stat.2-colcost
  3273. call college
  3274.  
  3275. hist1:
  3276. if stat.51>99 then call toosmart
  3277. skl=Vrnd(35,60+stat.8)
  3278. stat.51=stat.51+skl
  3279. if stat.51>100 then stat.51=100
  3280. tt 'caYou got acb' skl 'camaking your skill level:cb' stat.51'w2'
  3281. stat.2=stat.2-colcost
  3282. call college
  3283.  
  3284. comp1:
  3285. if stat.50>99 then call toosmart
  3286. skl=Vrnd(35,60+stat.8)
  3287. stat.50=stat.50+skl
  3288. if stat.50>100 then stat.50=100
  3289. tt 'caYou got acb' skl 'camaking your skill level:cb' stat.50'w2'
  3290. stat.2=stat.2-colcost
  3291. call college
  3292.  
  3293. sales1:
  3294. if stat.52>99 then call toosmart
  3295. skl=Vrnd(35,60+stat.8)
  3296. stat.52=stat.52+skl
  3297. if stat.52>100 then stat.52=100
  3298. tt 'caYou got acb' skl 'camaking your skill level:cb' stat.52'w2'
  3299. stat.2=stat.2-colcost
  3300. call college
  3301.  
  3302. gove1:
  3303. if stat.53>99 then call toosmart
  3304. skl=Vrnd(35,60+stat.8)
  3305. stat.53=stat.53+skl
  3306. if stat.53>100 then stat.53=100
  3307. tt 'caYou got acb' skl 'camaking your skill level:cb' stat.53'w2'
  3308. stat.2=stat.2-colcost
  3309. call college
  3310.  
  3311. medi1:
  3312. if stat.54>99 then call toosmart
  3313. skl=Vrnd(35,60+stat.8)
  3314. stat.54=stat.54+skl
  3315. if stat.54>100 then stat.54=100
  3316. tt 'caYou got acb' skl 'camaking your skill level:cb' stat.54'w2'
  3317. stat.2=stat.2-colcost
  3318. call college
  3319.  
  3320. relig1:
  3321. if stat.55>99 then call toosmart
  3322. skl=Vrnd(35,60+stat.8)
  3323. stat.55=stat.55+skl
  3324. if stat.55>100 then stat.55=100
  3325. tt 'caYou got acb' skl 'camaking your skill level:cb' stat.55'w2'
  3326. stat.2=stat.2-colcost
  3327. call college
  3328.  
  3329. racestud1:
  3330. if stat.56>99 then call toosmart
  3331. skl=Vrnd(35,60+stat.8)
  3332. stat.56=stat.56+skl
  3333. if stat.56>100 then stat.56=100
  3334. tt 'caYou got acb' skl 'camaking your skill level:cb' stat.56'w2'
  3335. stat.2=stat.2-colcost
  3336. call college
  3337.  
  3338. assail1:
  3339. if stat.48>99 then call toosmart
  3340. skl=Vrnd(35,60+stat.8)
  3341. stat.48=stat.48+skl
  3342. if stat.48>100 then stat.48=100
  3343. tt 'caYou got acb' skl 'camaking your skill level:cb' stat.48'w2'
  3344. if skl<50 then stat.47=stat.47-2
  3345. if skl>49 then stat.47=stat.47-4
  3346. stat.2=stat.2-colcost
  3347. call college
  3348.  
  3349. defend1:
  3350. if stat.57>99 then call toosmart
  3351. skl=Vrnd(35,60+stat.8)
  3352. stat.57=stat.57+skl
  3353. if stat.57>100 then stat.57=100
  3354. tt 'caYou got acb' skl 'camaking your skill level:cb' stat.57'w2'
  3355. stat.2=stat.2-colcost
  3356. if skl<50 then stat.46=stat.46+2
  3357. if skl>49 then stat.46=stat.46+4
  3358. call college
  3359.  
  3360. disguy1:
  3361. if stat.58>99 then call toosmart
  3362. skl=Vrnd(35,60+stat.8)
  3363. stat.58=stat.58+skl
  3364. if stat.58>100 then stat.58=100
  3365. tt 'caYou got acb' skl 'camaking your skill level:cb' stat.58'w2'
  3366. stat.2=stat.2-colcost
  3367. call college
  3368.  
  3369. gambler1:
  3370. if stat.59>139 then call toosmart
  3371. skl=Vrnd(35,60+stat.8)
  3372. stat.59=stat.59+skl
  3373. if stat.59>120 then stat.59=120
  3374. tt 'caYou got acb' skl 'camaking your skill level:cb' stat.59'w2'
  3375. stat.2=stat.2-colcost
  3376. call college
  3377.  
  3378. toosmart:
  3379. tt 'ceYour knowledge in this area is as high as we can get it!w2'
  3380. call college
  3381.  
  3382. transporter:
  3383. if stat.80=no then call gohome
  3384. tt 'f1ceAhh! I see you want to take the comfortable path!w2'
  3385. tt 'n1cfUnfortunately, you must have visited your destination to transport there now.w2'
  3386. tt 'n1cfHere are your choices:'
  3387. tt 'n1cb1. caKASAD VA AMORIA    :cf' stat.94
  3388. tt 'cb2. caILLIUN TRIS LUXOON :cf' stat.95
  3389. tt 'cb3. caBALLACK TUMBORJUN  :cf' stat.96
  3390. tt 'cb4. caASADA IX NOJAMY    :cf' stat.97
  3391. sx 'n1cdWhat will it be? '
  3392. getchar
  3393. dest=upper(result)
  3394. if dest=stat.93 then call youarehere
  3395. if dest=p then call quit
  3396. if dest='Q' then call main
  3397. if dest='/' then call main
  3398. if dest='1' then call kasad
  3399. if dest='2' then call illiun
  3400. if dest='3' then call ballack
  3401. if dest='4' then call asada 
  3402. call transporter
  3403.  
  3404. kasad:
  3405. tt 'n1ccAfter a somewhat uneasy trip you reassemble in Kasad Va Amoria!w2'
  3406. stat.93=1
  3407. x=0
  3408. y=1
  3409. call main
  3410.  
  3411. illiun:
  3412. if stat.95=no then call transporter
  3413. tt 'n1ccAfter a really nightmarish transport ride you reassemble in Illiun Tris Luxoon!w2'
  3414. stat.93=2
  3415. x=16
  3416. y=11
  3417. call main
  3418.  
  3419. youarehere:
  3420. tt 'n1c9You are already at this location!!!w2'
  3421. call transporter
  3422.  
  3423. gohome:
  3424. tt 'c9You do not have a transporter pass!! Go home!w2'
  3425. call main
  3426.  
  3427. startmove:
  3428. y=stat.71
  3429. x=stat.70
  3430. if stat.3<1 then call oopsie
  3431. if stat.93<3 then stat.69=1
  3432. if stat.93<3 then DO;MOVES=0;sfi spath||'battle.ans';END
  3433. tt 'w2f1'
  3434. bufferflush
  3435. call mapcall
  3436.  
  3437. oopsie:
  3438. tt 'n1ceYou cannot enter the c9BATTLE LANDSce in your condition!!w2'
  3439. call main
  3440.  
  3441. illout:
  3442. call mapcall
  3443.  
  3444. mapcall:
  3445. if stat.69=1 then call map1
  3446. if stat.69=2 then call map2
  3447. if stat.69=3 then call map3
  3448. if stat.69=4 then call map4
  3449. if stat.69=5 then call map5
  3450. if stat.69=6 then call map6
  3451.  
  3452. mapSIGNAL:
  3453. if stat.69=1 then SIGNAL map1
  3454. if stat.69=2 then SIGNAL map2
  3455. if stat.69=3 then SIGNAL map3
  3456. if stat.69=4 then SIGNAL map4
  3457. if stat.69=5 then SIGNAL map5
  3458. if stat.69=6 then SIGNAL map6
  3459.  
  3460. Map1:
  3461. IF MAP=1 THEN SIGNAL XPOS1
  3462. DO;CALL OPEN(1,MPATH||'1','R');DO I=1 TO 15;MP.I=READLN(1);END;CALL CLOSE(1);END
  3463. MPLINE1='CF'MP.1
  3464. MPLINE2='CF'MP.2
  3465. MPLINE3='CF'MP.3
  3466. MPLINE4='CF'MP.4
  3467. MPLINE5='CF'MP.5
  3468. MPLINE6='CF'MP.6
  3469. MPLINE7='CF'MP.7
  3470. MPLINE8='CF'MP.8
  3471. MPLINE9='CF'MP.9
  3472. MPLINE10='CF'MP.10
  3473. MPLINE11='CF'MP.11
  3474. MPLINE12='CF'MP.12
  3475. MPLINE13='CF'MP.13
  3476. MPLINE14='CF'MP.14
  3477. MPLINE15='CF'MP.15
  3478. MAP=1
  3479. SIGNAL XPOS1
  3480.  
  3481. map2:
  3482. IF MAP=2 THEN SIGNAL XPOS1
  3483. DO;CALL OPEN(1,MPATH||'2','R');DO I=1 TO 15;MP.I=READLN(1);END;CALL CLOSE(1);END
  3484. MPLINE1='CF'MP.1
  3485. MPLINE2='CF'MP.2
  3486. MPLINE3='CF'MP.3
  3487. MPLINE4='CF'MP.4
  3488. MPLINE5='CF'MP.5
  3489. MPLINE6='CF'MP.6
  3490. MPLINE7='CF'MP.7
  3491. MPLINE8='CF'MP.8
  3492. MPLINE9='CF'MP.9
  3493. MPLINE10='CF'MP.10
  3494. MPLINE11='CF'MP.11
  3495. MPLINE12='CF'MP.12
  3496. MPLINE13='CF'MP.13
  3497. MPLINE14='CF'MP.14
  3498. MPLINE15='CF'MP.15
  3499. MAP=2
  3500. SIGNAL XPOS1
  3501.  
  3502. map2stuff:
  3503. location=Spelunking Around a cave!
  3504. if x=2 & y=2 then location='cc'An apparent exit from this hole!
  3505. if x=12 & y=12 then location='cb'A hole going nowhere!!! YET!
  3506. if x=34 & y=11 then SIGNAL keykey
  3507. if x=28 & y=5 then SIGNAL SteelDoor
  3508. if x>36 then x=36
  3509. if x<0 then x=0
  3510. if y<1 then y=1
  3511. if y>15 then y=15
  3512. if x=10 & y=4 then SIGNAL bigbucks
  3513. if x=12 & y=4 then SIGNAL rand1
  3514. if x=34 & y=12 then SIGNAL rand2
  3515. if x=2 & y=3 | x=32 & y=3 | x=30 & y=3 | x=28 & y=3 | x=4 & y=3 | x=8 & y=5 | x=8 & y=4 | x=8 & y=3 | x=10 & y=3 | x=12 & y=3 | x=14 & y=3 | x=16 & y=3 | x=18 & y=3 then SIGNAL bumpwall
  3516. if x=26 & y=3 | x=24 & y=3 | x=22 & y=3 | x=20 & y=3 | x=32 & y=4 | x=30 & y=4 | x=28 & y=4 | x=8 & y=6 | x=8 & y=7 | x=4 & y=3 | x=18 & y=6 | x=16 & y=4 | x=8 & y=13 then SIGNAL bumpwall
  3517. if x=4 & y=4 | x=4 & y=5 | x=4 & y=6 | x=4 & y=7 | x=4 & y=8 | x=4 & y=9 | x=4 & y=10 | x=4 & y=11 | x=4 & y=12 | x=8 & y=8 | x=8 & y=9 | x=8 & y=10 | x=8 & y=11 then SIGNAL bumpwall
  3518. if x=20 & y=6 | x=22 & y=6 | x=24 & y=6 | x=26 & y=6 | x=28 & y=6 | x=30 & y=6 | x=32 & y=6 | x=32 & y=7 | x=32 & y=8 | x=30 & y=8 | x=28 & y=8 | x=26 & y=8 | x=24 & y=8 then SIGNAL bumpwall
  3519. if x=22 & y=8 | x=22 & y=7 | x=16 & y=7 | x=16 & y=8 | x=14 & y=8 | x=12 & y=8 | x=10 & y=8 | x=8 & y=8 | x=22 & y=10 | x=24 & y=10 | x=26 & y=10 | x=28 & y=10 | x=30 & y=10 then SIGNAL bumpwall
  3520. if x=32 & y=10 | x=34 & y=10 | x=22 & y=11 | x=24 & y=12 | x=26 & y=12 | x=26 & y=11 | x=16 & y=10 | x=16 & y=11 | x=14 & y=10 | x=14 & y=11 then SIGNAL bumpwall
  3521. if y=1 then SIGNAL bumpwall
  3522. if x=36 then SIGNAL bumpwall
  3523. if y=14 then SIGNAL bumpwall
  3524. if x=0 then SIGNAL bumpwall
  3525. SIGNAL move
  3526.  
  3527. map1stuff:
  3528. location=roaming the battle lands
  3529. if x>59 then SIGNAL edgefall
  3530. if x<0 then SIGNAL edgefall
  3531. if y<1 then SIGNAL edgefall
  3532. if y>15 then SIGNAL edgefall
  3533. if x=0 & y=1 then location='cd'The City of Kasad Va Amoria
  3534. if x=16 & y=11 then location='ce'The City Of Illiun Tris Luxoon
  3535. if x=2 & y=10 then location='c3'A very dark cave
  3536. if x=2 & y=10 then do;moves=0;sfi spath||'cave.ans';end
  3537. if x=0 & y=15 then location='c1'An odd alien craft
  3538. if x=0 & y=15 then do;moves=0;sfi spath||'alien.ans';end
  3539. if x=28 & y=1 then location='ce'A Huge Castle
  3540. if x=28 & y=1 then do;moves=0;sfi spath||'castle.ans';end
  3541. if x=56 & y=2 then location='cd'Ancient Ruins
  3542. if x=48 & y=5 then location='cf'A Secure military Base
  3543. if x=48 & y=5 then do;moves=0;sfi spath||'base.ans';end
  3544. if x=50 & y=14 then location='c6'An ancient Temple
  3545. if x=50 & y=14 then do;moves=0;sfi spath||'temple.ans';end
  3546. if x=42 & y=15 then location='c7'A deep cave
  3547. if x=42 & y=15 then do;moves=0;sfi spath||'cave.ans';end
  3548. if x=0 & y=14 | x=2 & y=14 | x=4 & y=15 then SIGNAL cantgo
  3549. if x=12 & y=13 | x=56 & y=1 | x=44 & y=4 then SIGNAL bigbucks
  3550. if x=56 & y=15 | x=54 & y=2 then SIGNAL rand1
  3551. if x=0 & y=14 then SIGNAL rand2
  3552. if x=8 & y=11 then SIGNAL rand3
  3553. if x=16 & y=5 then SIGNAL rand4
  3554. if x=8 & y=1 | x=18 & y=1 | x=32 & y=1 | x=7 & y=2 | x=16 & y=2 | x=34 & y=2 | x=40 & y=2 | x=42 & y=2 | x=44 & y=2 then SIGNAL cantgo2
  3555. if x=40 & y=3 | x=6 & y=3 | x=8 & y=3 | x=8 & y=3 | x=10 & y=3 | x=12 & y=3 | x=14 & y=3 then SIGNAL cantgo2
  3556. if x=10 & y=3 | x=8 & y=5 | x=46 & y=2 then location='ce'a mountain pass
  3557. if x=2 & y=5 | x=6 & y=2 | x=2 & y=6 | x=2 & y=7 | x=2 & y=8 | x=4 & y=9 | x=4 & y=10 | x=6 & y=11 | x=6 & y=10 | x=8 & y=9 then SIGNAL cantgo2
  3558. if x=8 & y=8 | x=8 & y=7 | x=10 & y=6 | x=10 & y=6 | x=12 & y=6 | x=12 & y=5 | x=4 & y=5 | x=6 & y=5 then SIGNAL cantgo2
  3559. if x=6 & y=5 | x=8 & y=5 | x=34 & y=3 | x=34 & y=4 | x=36 & y=4 | x=36 & y=5 | x=38 & y=5 | x=40 & y=5 | x=42 & y=5 then SIGNAL cantgo2
  3560. if x=40 & y=3 | x=44 & y=4 | x=46 & y=4 | x=48 & y=4 | x=60 & y=8 then SIGNAL cantgo2
  3561. if x=50 & y=5 | x=54 & y=6 | x=54 & y=7 | x=54 & y=8 | x=58 & y=9 | x=56 & y=9 then SIGNAL cantgo2
  3562. if x=56 & y=8 | x=56 & y=6 | x=56 & y=7 | x=54 & y=5 | x=52 & y=5 | x=60 & y=7 | x=60 & y=6 | x=58 & y=5 | x=58 & y=4 then SIGNAL cantgo2
  3563. if x=58 & y=3 | x=58 & y=2 | x=58 & y=1 | x=12 & y=8 | x=14 & y=8 | x=16 & y=7 | x=18 & y=7 then SIGNAL cantgo2
  3564. if x=20 & y=7 | x=22 & y=7 | x=22 & y=8 | x=24 & y=8 | x=26 & y=8 | x=26 & y=9 | x=26 & y=10 | x=26 & y=11 then SIGNAL cantgo2
  3565. if x=14 & y=9 | x=16 & y=10 | x=14 & y=10 | x=12 & y=10  | x=12 & y=12 | x=14 & y=12 | x=16 & y=12 then SIGNAL cantgo2
  3566. if x=16 & y=12 | x=18 & y=12 | x=20 & y=13 | x=22 & y=13 | x=24 & y=13 | x=26 & y=13 then SIGNAL cantgo2
  3567. if x=18 & y=11 | x=16 & y=10 | x=16 & y=9 | x=16 & y=8 | x=18 & y=8 | x=20 & y=8 | x=20 & y=9 | x=22 & y=9 then SIGNAL cantswim
  3568. if x=24 & y=9 | x=24 & y=10 | x=24 & y=11 | x=24 & y=12 | x=22 & y=12 | x=18 & y=11 | x=22 & y=11  | x=20 & y=11 then SIGNAL cantswim
  3569. if x=24 & y=12 | x=26 & y=12 | x=28 & y=12 | x=30 & y=12 | x=32 & y=12 | x=34 & y=12 then SIGNAL cantswim
  3570. if x=36 & y=12 | x=38 & y=12 | x=40 & y=12 | x=42 & y=12 | x=44 & y=13 then SIGNAL cantswim
  3571. if x=44 & y=14 | x=44 & y=15 | x=46 & y=15 | x=42 & y=14 | x=42 & y=13 | x=40 & y=13 then SIGNAL cantswim
  3572. SIGNAL move
  3573.  
  3574. MOVENEW:
  3575. IF Y=1 & DRC=UP THEN TT 'F0!1'MPLINE2'CF'
  3576. IF Y=2 & DRC=UP THEN TT 'F0!2'MPLINE3'CF'
  3577. IF Y=3 & DRC=UP THEN TT 'F0!3'MPLINE4'CF'
  3578. IF Y=4 & DRC=UP THEN TT 'F0!4'MPLINE5'CF'
  3579. IF Y=5 & DRC=UP THEN TT 'F0!5'MPLINE6'CF'
  3580. IF Y=6 & DRC=UP THEN TT 'F0!6'MPLINE7'CF'
  3581. IF Y=7 & DRC=UP THEN TT 'F0!7'MPLINE8'CF'
  3582. IF Y=8 & DRC=UP THEN TT 'F0!8'MPLINE9'CF'
  3583. IF Y=9 & DRC=UP THEN TT 'F0!9'MPLINE10'CF'
  3584. IF Y=10 & DRC=UP THEN TT 'F0!A'MPLINE11'CF'
  3585. IF Y=11 & DRC=UP THEN TT 'F0!B'MPLINE12'CF'
  3586. IF Y=12 & DRC=UP THEN TT 'F0!C'MPLINE13'CF'
  3587. IF Y=13 & DRC=UP THEN TT 'F0!D'MPLINE14'CF'
  3588. IF Y=14 & DRC=UP THEN TT 'F0!E'MPLINE15'CF'
  3589. IF Y=2 & DRC=DWN THEN TT 'F0'MPLINE1'CF'
  3590. IF Y=3 & DRC=DWN THEN TT 'F0!1'MPLINE2'CF'
  3591. IF Y=4 & DRC=DWN THEN TT 'F0!2'MPLINE3'CF'
  3592. IF Y=5 & DRC=DWN THEN TT 'F0!3'MPLINE4'CF'
  3593. IF Y=6 & DRC=DWN THEN TT 'F0!4'MPLINE5'CF'
  3594. IF Y=7 & DRC=DWN THEN TT 'F0!5'MPLINE6'CF'
  3595. IF Y=8 & DRC=DWN THEN TT 'F0!6'MPLINE7'CF'
  3596. IF Y=9 & DRC=DWN THEN TT 'F0!7'MPLINE8'CF'
  3597. IF Y=10 & DRC=DWN THEN TT 'F0!8'MPLINE9'CF'
  3598. IF Y=11 & DRC=DWN THEN TT 'F0!9'MPLINE10'CF'
  3599. IF Y=12 & DRC=DWN THEN TT 'F0!A'MPLINE11'CF'
  3600. IF Y=13 & DRC=DWN THEN TT 'F0!B'MPLINE12'CF'
  3601. IF Y=14 & DRC=DWN THEN TT 'F0!C'MPLINE13'CF'
  3602. IF Y=15 & DRC=DWN THEN TT 'F0!D'MPLINE14'CF' 
  3603. IF Y=1 THEN TT 'F0'MPLINE1'CF'
  3604. IF Y=2 THEN TT 'F0!1'MPLINE2'CF'
  3605. IF Y=3 THEN TT 'F0!2'MPLINE3'CF'
  3606. IF Y=4 THEN TT 'F0!3'MPLINE4'CF'
  3607. IF Y=5 THEN TT 'F0!4'MPLINE5'CF'
  3608. IF Y=6 THEN TT 'F0!5'MPLINE6'CF'
  3609. IF Y=7 THEN TT 'F0!6'MPLINE7'CF'
  3610. IF Y=8 THEN TT 'F0!7'MPLINE8'CF'
  3611. IF Y=9 THEN TT 'F0!8'MPLINE9'CF'
  3612. IF Y=10 THEN TT 'F0!9'MPLINE10'CF'
  3613. IF Y=11 THEN TT 'F0!A'MPLINE11'CF'
  3614. IF Y=12 THEN TT 'F0!B'MPLINE12'CF'
  3615. IF Y=13 THEN TT 'F0!C'MPLINE13'CF'
  3616. IF Y=14 THEN TT 'F0!D'MPLINE14'CF'
  3617. IF Y=15 THEN TT 'F0!E'MPLINE15'CF'
  3618. SIGNAL PROM
  3619.  
  3620. MOVE:
  3621. /* ADD THE MAPBACK HERE JUST BELOW IF MOVES>0 PART */
  3622. stat.70=x
  3623. stat.71=y
  3624. IF MOVES>0 THEN SIGNAL MOVENEW
  3625. TT 'F1'
  3626. SENDFILE MPATH||'MAPBACK'
  3627. TT 'Q1'
  3628. TT 'F0'MPLINE1'CF'
  3629. TT ''MPLINE2'CF'
  3630. TT ''MPLINE3'CF'
  3631. TT ''MPLINE4'CF'
  3632. TT ''MPLINE5'CF'
  3633. TT ''MPLINE6'CF'
  3634. TT ''MPLINE7'CF'
  3635. TT ''MPLINE8'CF'
  3636. TT ''MPLINE9'CF'
  3637. TT ''MPLINE10'CF'
  3638. TT ''MPLINE11'CF'
  3639. TT ''MPLINE12'CF'
  3640. TT ''MPLINE13'CF'
  3641. TT ''MPLINE14'CF'
  3642. TT ''MPLINE15'CFQ1'
  3643. PROM:
  3644. TT 'F0BZ7C4C'LOCATION'C7XXXXXXXXXXXXXXXXXXXXXXXXXXQ1'
  3645. sx 'F0BCAWHAT SHALL YOU DO?z0                                                q1<f<f<f'
  3646. getchar
  3647. rsp=upper(result);tt rsp
  3648. if rsp=p then SIGNAL quit
  3649. if rsp='Q' then SIGNAL camp
  3650. if rsp='/' then SIGNAL camp
  3651. if rsp='1' then DO;y=y+1;DRC=DWN;END
  3652. if rsp='1' then DO;x=x-2;DRC=DWN;END
  3653. if rsp='3' then DO;x=x+2;DRC=DWN;END
  3654. if rsp='3' then DO;y=y+1;DRC=DWN;END
  3655. if rsp='7' then DO;x=x-2;DRC=UP;END
  3656. if rsp='7' then DO;y=y-1;DRC=UP;END
  3657. if rsp='9' then DO;y=y-1;DRC=UP;END
  3658. if rsp='9' then DO;x=x+2;DRC=UP;END
  3659. if rsp='2' then DO;y=y+1;DRC=DWN;END
  3660. if rsp='4' then DO;x=x-2;DRC=SME;END
  3661. if rsp='6' then DO;x=x+2;DRC=SME;END
  3662. if rsp='8' then DO;y=y-1;DRC=UP;END
  3663. if rsp='5' then SIGNAL refreshmap
  3664. if rsp='C' then SIGNAL camp
  3665. if rsp='' then SIGNAL move
  3666. if rsp='E' then SIGNAL maplocal
  3667. if rsp='H' then SIGNAL helpwq
  3668. if rsp='U' then SIGNAL useit
  3669. if rsp='V' then SIGNAL viewchar
  3670. if rsp='' then SIGNAL hot
  3671. moves=moves+1
  3672. if moves=8 then SIGNAL monsterattack
  3673. if moves=16 then SIGNAL monsterattack
  3674. if moves=24 then SIGNAL monsterattack
  3675. if moves=32 then SIGNAL monsterattack
  3676. if moves=40 then SIGNAL monsterattack
  3677. SIGNAL mapSIGNAL
  3678.  
  3679. hot:
  3680. sx ' '
  3681. getchar
  3682. rsp=result
  3683. if rsp='[' then SIGNAL cold
  3684. SIGNAL cold
  3685.  
  3686. cold:
  3687. sx ' '
  3688. getchar
  3689. rxp=upper(result)
  3690. if rxp=p then signal quit
  3691. if rxp='D' then do;x=x-2;rsp=4;DRC=SME;end
  3692. if rxp='A' then do;y=y-1;rsp=8;DRC=UP;end
  3693. if rxp='B' then do;y=y+1;rsp=2;DRC=DWN;end
  3694. if rxp='C' then do;x=x+2;rsp=6;DRC=SME;end
  3695. moves=moves+1
  3696. if moves=8 then SIGNAL monsterattack
  3697. if moves=16 then SIGNAL monsterattack
  3698. if moves=24 then SIGNAL monsterattack
  3699. if moves=32 then SIGNAL monsterattack
  3700. if moves=40 then SIGNAL monsterattack
  3701. SIGNAL mapSIGNAL
  3702.  
  3703. mapstuff:
  3704. if stat.69=1 then SIGNAL map1stuff
  3705. if stat.69=2 then SIGNAL map2stuff
  3706. if stat.69=3 then SIGNAL map3stuff
  3707. if stat.69=4 then SIGNAL map4stuff
  3708. if stat.69=5 then SIGNAL map5stuff
  3709. if stat.69=6 then SIGNAL map6stuff
  3710. if stat.69=7 then SIGNAL map7stuff
  3711. if stat.69=8 then SIGNAL map8stuff
  3712. if stat.69=9 then SIGNAL map9stuff
  3713. if stat.69=10 then SIGNAL map10stuff
  3714. if stat.69=11 then SIGNAL map11stuff
  3715. if stat.69=12 then SIGNAL map12stuff
  3716. if stat.69=13 then SIGNAL map13stuff
  3717. if stat.69=14 then SIGNAL map14stuff
  3718.  
  3719. useit:
  3720. moves=0
  3721. tt 'f1n2caSelect An Item To Use:'
  3722. tt 'f1n1ceNONCombat Items:'
  3723. tt 'cb1 cfMedical Kit   ceAVAILABLE:c9' stat.42
  3724. tt 'cb2 cfTeleport Belt ceAVAILABLE:c9' stat.87
  3725. sx 'n1ccPlease select an Item c9# ccto usece>>> '
  3726. getchar
  3727. itu=upper(result)
  3728. if itu=p then SIGNAL quit
  3729. if itu='Q' then SIGNAL mapSIGNAL
  3730. if itu='/' then SIGNAL mapSIGNAL
  3731. if itu='' then SIGNAL useit
  3732. if itu='1' then SIGNAL medkit51q
  3733. if itu='2' then SIGNAL telep
  3734. SIGNAL useit
  3735.  
  3736. telep:
  3737. if stat.87=no then SIGNAL notelep
  3738. tt 'n1ceTeleporting to Kasad Va Amoriaw1'
  3739. stat.69=0
  3740. x=0
  3741. y=1
  3742. stat.93=1
  3743. SIGNAL main
  3744.  
  3745. notelep:
  3746. tt 'n1cfYOU DO NOT HAVE A TELEPORT BELT!! SORRY!!w2'
  3747. SIGNAL useit
  3748.  
  3749. medkit51q:
  3750. if stat.42<1 then stat.42=0
  3751. if stat.42=0 then SIGNAL noitem1
  3752. stat.3=stat.4
  3753. stat.43=stat.43-1
  3754. tt 'n1ceYou are healed!w2'
  3755. if stat.43=0 then SIGNAL medkit5a1
  3756. tt 'f1'
  3757. SIGNAL mapSIGNAL
  3758.  
  3759. medkit5a1:
  3760. tt 'n1ceThis medkit is empty now!w2'
  3761. stat.42=stat.42-1
  3762. if stat.42>0 then stat.43=3
  3763. tt 'f1'
  3764. SIGNAL mapSIGNAL
  3765.  
  3766. noitem1:
  3767. tt 'n1c9You do not have that item!w2'
  3768. SIGNAL useit
  3769.  
  3770. helpwq:
  3771. do;moves=0;sfi spath||'help.ans';end
  3772. SIGNAL move
  3773.  
  3774. maplocal:
  3775. if stat.69=1 then SIGNAL maplocal1
  3776. if stat.69=2 then SIGNAL maplocal2
  3777. if stat.69=3 then SIGNAL maplocal3
  3778. if stat.69=4 then SIGNAL maplocal4
  3779. if stat.69=5 then SIGNAL maplocal5
  3780. if stat.69=6 then SIGNAL maplocal6
  3781. if stat.69=7 then SIGNAL maplocal7
  3782. if stat.69=8 then SIGNAL maplocal8
  3783. if stat.69=9 then SIGNAL maplocal9
  3784. if stat.69=10 then SIGNAL maplocal10
  3785. if stat.69=11 then SIGNAL maplocal11
  3786. if stat.69=12 then SIGNAL maplocal12
  3787. if stat.69=13 then SIGNAL maplocal13
  3788. if stat.69=14 then SIGNAL maplocal14
  3789. SIGNAL move
  3790.  
  3791. maplocal1:
  3792. if x=48 & y=5 then SIGNAL miltar
  3793. if x=0 & y=1 then SIGNAL Kasad1
  3794. if x=16 & y=11 then SIGNAL illiun1
  3795. if x=2 & y=10 then SIGNAL cavedark
  3796. if x=28 & y=1 then SIGNAL castlebig
  3797. if x=0 & y=15 then SIGNAL alienship
  3798. if x=42 & y=15 then SIGNAL cavedeep
  3799. if x=50 & y=14 then SIGNAL templedo
  3800. if x=56 & y=2 then SIGNAL ruinsdo
  3801. tt '>9>9^1cfThere is no place to enter!w1'
  3802. SIGNAL map1stuff
  3803.  
  3804. templedo:
  3805. tt 'f1'
  3806. moves=0
  3807. sfi dpath||'temple'
  3808. tt 'f1'
  3809. SIGNAL mapSIGNAL
  3810.  
  3811. ruinsdo:
  3812. tt 'f1'
  3813. moves=0
  3814. sfi dpath||'ruins'
  3815. tt 'f1'
  3816. SIGNAL mapSIGNAL
  3817.  
  3818. miltar:
  3819. tt 'f1n1'
  3820. stat.69=6
  3821. x=26
  3822. y=2
  3823. SIGNAL mapSIGNAL
  3824.  
  3825. cavedeep:
  3826. tt 'f1n1'
  3827. stat.69=5
  3828. x=2
  3829. y=2
  3830. SIGNAL mapSIGNAL
  3831.  
  3832. exits5:
  3833. tt 'f1'
  3834. stat.69=1
  3835. x=48
  3836. y=5
  3837. SIGNAL mapSIGNAL
  3838.  
  3839. exits4:
  3840. tt 'f1'
  3841. stat.69=1
  3842. x=42
  3843. y=15
  3844. SIGNAL mapSIGNAL
  3845.  
  3846. maplocal2:
  3847. if x=2 & y=2 then SIGNAL exits1
  3848. tt '>9>9^1cfthere is no place to enter!w1'
  3849. SIGNAL map2stuff
  3850.  
  3851. maplocal3:
  3852. if x=26 & y=2 then SIGNAL exits2
  3853. tt '>9>9^1cfThere is no place to enter!w1'
  3854. SIGNAL map3stuff
  3855.  
  3856. maplocal4:
  3857. if x=34 & y=14 then SIGNAL exits3
  3858. tt '>9>9^1cfThere is no place to enter!w1'
  3859. SIGNAL map4stuff
  3860.  
  3861. maplocal5:
  3862. if x=2 & y=2 then SIGNAL exits4
  3863. tt '>9>9^1cfThere is no place to exit!w1'
  3864. SIGNAL map5stuff
  3865.  
  3866. maplocal6:
  3867. if x=26 & y=2 then SIGNAL exits5
  3868. tt '>9>9^1caThere is no place to exit!!w1'
  3869. SIGNAL map6stuff
  3870.  
  3871. castlebig:
  3872. if stat.10<10 then SIGNAL toowimpy
  3873. tt 'f1n1'
  3874. stat.69=3
  3875. x=26
  3876. y=2
  3877. SIGNAL mapSIGNAL
  3878.  
  3879. toowimpy:
  3880. tt 'f1n3ceIt will not be advisable to enter the Ancient Castle at your level!'
  3881. tt 'ceCome back when you are levelcf 10ce or higher!!w3'
  3882. SIGNAL mapSIGNAL
  3883.  
  3884. alienship:
  3885. tt 'f1'
  3886. stat.69=4
  3887. x=34
  3888. y=14
  3889. moves=0
  3890. sfi dpath||'alien'
  3891. tt 'f1n1'
  3892. SIGNAL mapSIGNAL
  3893.  
  3894. exits1:
  3895. tt 'f1'
  3896. stat.69=1
  3897. x=2
  3898. y=10
  3899. SIGNAL mapSIGNAL
  3900.  
  3901. exits2:
  3902. tt 'f1'
  3903. stat.69=1
  3904. y=1
  3905. x=28
  3906. SIGNAL mapSIGNAL
  3907.  
  3908. exits3:
  3909. tt 'f1'
  3910. stat.69=1
  3911. y=15
  3912. x=0
  3913. SIGNAL mapSIGNAL
  3914.  
  3915. cantgo:
  3916. if stat.49>80 then SIGNAL okyouwentthere
  3917. tt '>9>9^1c9You do not have the skill to climb these peeksw1'
  3918. SIGNAL moveback
  3919.  
  3920. edgefall:
  3921. tt '>9>9^1cfFalling off the edge could be fatal!!w1'
  3922. SIGNAL moveback
  3923.  
  3924. bumpwall:
  3925. if stat.69>4 | stat.69<3 then tt '>9>9^1cb OUCH!!! That wasn''t fun at all!!!w1'
  3926. if stat.69=3 then tt '>9>9^1ca That wall has been here for many millenia!!!w1'
  3927. if stat.69=4 then tt '>9>9^1c9THAT WALL IS TOO SLIMY TO TOUCH!!w1'
  3928. SIGNAL moveback
  3929.  
  3930. steeldoor:
  3931. moves=0
  3932. if open=yes then SIGNAL move
  3933. if stat.90=yes then CALL OPENit
  3934. if stat.69=13 then tt 'f1n2cfThis large steel door seems awfully flimsy considered the place.n1But still you do not have the key'
  3935. if stat.69=12 then tt 'f1n2cfThis huge steel door is locked and you have yet to find the keyw2'
  3936. if stat.69=10 then tt 'f1n2cfThis door is locked. It is a citizens''s home...'
  3937. if stat.69=9 then tt 'f1n2cfThe fact that this door is 1200 years oldn1is the only reason you don''t absolutely need the key!n1It is still locked however...'
  3938. if stat.69=8 then tt 'f1n2cfThere is an ancient metal door here!n1But not so ancient that it will open easily!n1There is no keyhole!'
  3939. if stat.69=2 then tt 'f1n2cfThere is a huge steel door here!!n1cfAnd you do not have the key!!'
  3940. if stat.69=4 then tt 'f1n2cfThere is an odd fungi covered alien door here!!n1And you do not have the key!'
  3941. if stat.69=6 then tt 'f1n2cfThere is a security door here and you do not have the passkey!!'
  3942. sx 'n1cFTry to open anyway??c9 [No] '
  3943. getchar
  3944. keya=upper(result)
  3945. attempts=0
  3946. if keya=p then SIGNAL quit
  3947. if keya='' then SIGNAL cantgetthrough
  3948. if keya='Y' then SIGNAL tryanyway
  3949. SIGNAL cantgetthrough
  3950.  
  3951. keykey:
  3952. moves=0
  3953. tt 'f1n4caThere is a small cbgoldenca key on the floorw1'
  3954. tt 'n1Without hesitation you pick it up!!w2'
  3955. stat.90=yes
  3956. SIGNAL move
  3957.  
  3958. openit:
  3959. tt '>9>9^1ceYour key fits the door and it opens!w2'
  3960. open=yes
  3961. SIGNAL move
  3962.  
  3963. tryanyway:
  3964. if attempts>1 then SIGNAL sorrycharlie
  3965. sx 'n1caWill you c9Pcaick the lock or c9Bcaust it down? '
  3966. getchar
  3967. ddd=upper(result)
  3968. if ddd=p then SIGNAL quit
  3969. if ddd='' then SIGNAL tryanyway
  3970. if ddd='P' then SIGNAL pickit
  3971. if ddd='B' then SIGNAL buster
  3972. SIGNAL tryanyway
  3973.  
  3974. pickit:
  3975. if stat.11=rogue then SIGNAL okaypickit
  3976. tt 'n1c9You are not a Rogue!w2'
  3977. SIGNAL tryanyway
  3978.  
  3979. buster:
  3980. tt 'n1cfYou rare back and launch yourself at the barrier!w2'
  3981. bbb=VRnd(1,10)+stat.5
  3982. if bbb<27 then SIGNAL nowaysa
  3983. tt 'n1ceYou blew through that barrier like a wrecking ball!w2'
  3984. open=yes
  3985. tt 'f1'
  3986. moves=0
  3987. SIGNAL move
  3988.  
  3989. nowaysa:
  3990. tt 'cbYOUCH! That really hurt!! And it failed!!w2'
  3991. attempts=attempts+1
  3992. SIGNAL tryanyway
  3993.  
  3994. okaypickit:
  3995. tt 'n1ceYou pull out your tools and dig into the lock!w2'
  3996. ppp=VRnd(1,10)+stat.10
  3997. if ppp<8 then SIGNAL nowaybaby
  3998. tt 'n1ceYou flick your wrist and the lock pops open!w2'
  3999. open=yes
  4000. tt 'f1'
  4001. moves=0
  4002. SIGNAL move
  4003.  
  4004. nowaybaby:
  4005. tt 'n1cfWhat a weak attempt! You failed!w2'
  4006. attempts=attempts+1
  4007. SIGNAL tryanyway
  4008.  
  4009. sorrycharlie:
  4010. tt 'c9n1Give it a rest! You''re not getting through without the key!w2'
  4011. SIGNAL cantgetthrough
  4012.  
  4013. cantgetthrough:
  4014. moves=0
  4015. tt 'f1'
  4016. SIGNAL moveback
  4017.  
  4018. cantswim:
  4019. tt '>9>9^1ccThat''s water & with all that armor you''d sink!w1'
  4020. SIGNAL moveback
  4021.  
  4022. cantgo2:
  4023. if stat.45=yes then SIGNAL okyouwentthere
  4024. if stat.49>40 then SIGNAL okyouwentthere
  4025. tt '>9>9^1c9You do not have the skill to climb these peeksw1'
  4026. SIGNAL moveback
  4027.  
  4028. cantgo1:
  4029. tt '>9>9^1c9No amount of skill will help climb these peeksw1'
  4030. SIGNAL moveback
  4031.  
  4032. okyouwentthere:
  4033. tt '>9>9^1cfYou are a champion Mountaineer!w1'
  4034. SIGNAL move
  4035.  
  4036. bigbucks:
  4037. moves=0
  4038. if pickedup=yes then SIGNAL move
  4039. tt 'f1n2cbHEY...someone hid some camoneycb here!!!'
  4040. sx 'n1cbDo you want to pick it up?? '
  4041. getchar
  4042. wll=result
  4043. if wll='Y' then SIGNAL okeedokee
  4044. if wll=p then SIGNAL quit
  4045. tt 'caNO? Okay, it''s your lossw2!!'
  4046. pickedup=yes
  4047. SIGNAL move
  4048.  
  4049. okeedokee:
  4050. cashe=VRnd(5000,10000)*stat.10
  4051. stat.2=stat.2+cashe
  4052. tt 'caIt was $ca'cashe'ca!!!w2'
  4053. pickedup=yes
  4054. SIGNAL move
  4055.  
  4056. kasad1:
  4057. tt 'f1'
  4058. moves=0
  4059. sfi spath||'kasad.ans'
  4060. tt 'w2'
  4061. stat.93=1
  4062. stat.69=0
  4063. x=0
  4064. y=1
  4065. SIGNAL main
  4066.  
  4067. illiun1:
  4068. tt 'f1'
  4069. moves=0
  4070. sfi spath||'illiun.ans'
  4071. tt 'w2'
  4072. stat.93=2
  4073. stat.69=0
  4074. stat.95=yes
  4075. x=16
  4076. y=11
  4077. SIGNAL main
  4078.  
  4079. cavedark:
  4080. moves=0
  4081. tt 'f1n1'
  4082. stat.69=2
  4083. y=2
  4084. x=2
  4085. SIGNAL mapSIGNAL
  4086.  
  4087. mapmove:
  4088. MPLINE1='CQ1'MP.1
  4089. MPLINE2='CQ1'MP.2
  4090. MPLINE3='CQ1'MP.3
  4091. MPLINE4='CQ1'MP.4
  4092. MPLINE5='CQ1'MP.5
  4093. MPLINE6='CQ1'MP.6
  4094. MPLINE7='CQ1'MP.7
  4095. MPLINE8='CQ1'MP.8
  4096. MPLINE9='CQ1'MP.9
  4097. MPLINE10='CQ1'MP.10
  4098. MPLINE11='CQ1'MP.11
  4099. MPLINE12='CQ1'MP.12
  4100. MPLINE13='CQ1'MP.13
  4101. MPLINE14='CQ1'MP.14
  4102. MPLINE15='CQ1'MP.15
  4103. IF Y=1 THEN MPLINE1=MPLINE1''XPOS'CF'
  4104. IF Y=2 THEN MPLINE2=MPLINE2''XPOS'CF'
  4105. IF Y=3 THEN MPLINE3=MPLINE3''XPOS'CF'
  4106. IF Y=4 THEN MPLINE4=MPLINE4''XPOS'CF'
  4107. IF Y=5 THEN MPLINE5=MPLINE5''XPOS'CF'
  4108. IF Y=6 THEN MPLINE6=MPLINE6''XPOS'CF'
  4109. IF Y=7 THEN MPLINE7=MPLINE7''XPOS'CF'
  4110. IF Y=8 THEN MPLINE8=MPLINE8''XPOS'CF'
  4111. IF Y=9 THEN MPLINE9=MPLINE9''XPOS'CF'
  4112. IF Y=10 THEN MPLINE10=MPLINE10''XPOS'CF'
  4113. IF Y=11 THEN MPLINE11=MPLINE11''XPOS'CF'
  4114. IF Y=12 THEN MPLINE12=MPLINE12''XPOS'CF'
  4115. IF Y=13 THEN MPLINE13=MPLINE13''XPOS'CF'
  4116. IF Y=14 THEN MPLINE14=MPLINE14''XPOS'CF'
  4117. IF Y=15 THEN MPLINE15=MPLINE15''XPOS'CF'
  4118. SIGNAL mapstuff
  4119.  
  4120. xpos1:
  4121. if stat.11=rogue then icon='z4cbRGq1'
  4122. if stat.11=knight then icon='z1cfKNq1'
  4123. if stat.11=mentalist then icon='z4cfMNq1'
  4124. if stat.11=assassin then icon='z4cfASq1'
  4125. if stat.11=arms expert then icon='z2cfEXq1'
  4126. if stat.11=globalist then icon='z2cfGBq1'
  4127. if x=0 then xpos='D'icon'C'
  4128. if x=2 then xpos='D'icon'C'
  4129. if x=4 then xpos='D'icon'C'
  4130. if x=6 then xpos='D'icon'C'
  4131. if x=8 then xpos='D'icon'C'
  4132. if x=10 then xpos='D'icon'C'
  4133. if x=12 then xpos='D'icon'C'
  4134. if x=14 then xpos='D'icon'C'
  4135. if x=16 then xpos='D'icon'C'
  4136. if x=18 then xpos='D'icon'C'
  4137. if x=20 then xpos='D'icon'C'
  4138. if x=22 then xpos='D'icon'C'
  4139. if x=24 then xpos='D'icon'C'
  4140. if x=26 then xpos='D'icon'C'
  4141. if x=28 then xpos='D'icon'C'
  4142. if x=30 then xpos='D'icon'C'
  4143. if x=32 then xpos='D'icon'C'
  4144. if x=34 then xpos='D'icon'C'
  4145. if x=36 then xpos='D'icon'C'
  4146. if x=38 then xpos='D'icon'C'
  4147. if x=40 then xpos='D'icon'C'
  4148. if x=42 then xpos='D'icon'C'
  4149. if x=44 then xpos='D'icon'C'
  4150. if x=46 then xpos='D'icon'C'
  4151. if x=48 then xpos='D'icon'C'
  4152. if x=50 then xpos='D'icon'C'
  4153. if x=52 then xpos='D'icon'C'
  4154. if x=54 then xpos='D'icon'C'
  4155. if x=56 then xpos='D'icon'C'
  4156. if x=58 then xpos='D'icon'C'
  4157. if x=60 then xpos=''icon
  4158. SIGNAL mapmove
  4159.  
  4160. map3:
  4161. IF MAP=3 THEN SIGNAL XPOS1
  4162. DO;CALL OPEN(1,MPATH||'3','R');DO I=1 TO 15;MP.I=READLN(1);END;CALL CLOSE(1);END
  4163. MPLINE1='CF'MP.1
  4164. MPLINE2='CF'MP.2
  4165. MPLINE3='CF'MP.3
  4166. MPLINE4='CF'MP.4
  4167. MPLINE5='CF'MP.5
  4168. MPLINE6='CF'MP.6
  4169. MPLINE7='CF'MP.7
  4170. MPLINE8='CF'MP.8
  4171. MPLINE9='CF'MP.9
  4172. MPLINE10='CF'MP.10
  4173. MPLINE11='CF'MP.11
  4174. MPLINE12='CF'MP.12
  4175. MPLINE13='CF'MP.13
  4176. MPLINE14='CF'MP.14
  4177. MPLINE15='CF'MP.15
  4178. MAP=3
  4179. SIGNAL XPOS1
  4180.  
  4181. map4:
  4182. IF MAP=4 THEN SIGNAL XPOS1
  4183. DO;CALL OPEN(1,MPATH||'4','R');DO I=1 TO 15;MP.I=READLN(1);END;CALL CLOSE(1);END
  4184. MPLINE1='CF'MP.1
  4185. MPLINE2='CF'MP.2
  4186. MPLINE3='CF'MP.3
  4187. MPLINE4='CF'MP.4
  4188. MPLINE5='CF'MP.5
  4189. MPLINE6='CF'MP.6
  4190. MPLINE7='CF'MP.7
  4191. MPLINE8='CF'MP.8
  4192. MPLINE9='CF'MP.9
  4193. MPLINE10='CF'MP.10
  4194. MPLINE11='CF'MP.11
  4195. MPLINE12='CF'MP.12
  4196. MPLINE13='CF'MP.13
  4197. MPLINE14='CF'MP.14
  4198. MPLINE15='CF'MP.15
  4199. MAP=4
  4200. SIGNAL XPOS1
  4201.  
  4202. map4stuff:
  4203. location='cd'Eery Feeling Alien Transport Pod
  4204. if x=34 & y=14 then location='c9'THE HOLE LEADING TO SAFETY
  4205. if x<2 then SIGNAL bumpwall
  4206. if x>55 then SIGNAL bumpwall
  4207. if y<3 then SIGNAL pods
  4208. if y>14 then SIGNAL bumpwall
  4209. if x=32 & y=14 | x=36 & y=14 | x=44 & y=14 | x=46 & y=13 | x=48 & y=14 | x=48 & y=13 | x=36 & y=13 | x=32 & y=13 | x=32 & y=12 | x=40 & y=13 then SIGNAL bumpwall
  4210. if x=32 & y=11 | x=36 & y=12 | x=36 & y=12 | x=38 & y=12 | x=40 & y=12 | x=42 & y=12 | x=48 & y=12 | x=48 & y=11 | x=38 & y=11 | x=32 & y=10 then SIGNAL bumpwall
  4211. if x=32 & y=9 | x=34 & y=9 | x=36 & y=9 | x=38 & y=9 | x=40 & y=9 | x=42 & y=9 | x=44 & y=9 | x=42 & y=10  then SIGNAL bumpwall
  4212. if x=44 & y=8 | x=48 & y=8 | x=44 & y=7 | x=48 & y=7 | x=4 & y=6 | x=4 & y=5 | x=6 & y=5 | x=8 & y=5 | x=10 & y=5 | x=12 & y=5 then SIGNAL bumpwall
  4213. if x=14 & y=5 | x=16 & y=5 | x=18 & y=5 | x=20 & y=5 | x=22 & y=5 | x=24 & y=5 | x=26 & y=5 | x=28 & y=5 | x=30 & y=5 | x=32 & y=5 then SIGNAL bumpwall
  4214. if x=34 & y=5 | x=36 & y=5 | x=38 & y=5 | x=40 & y=5 | x=42 & y=5 | x=44 & y=5 | x=46 & y=5 | x=48 & y=5 | x=50 & y=5 | x=52 & y=5 | x=54 & y=5 then SIGNAL bumpwall
  4215. if x=30 & y=9 | x=38 & y=10 | x=46 & y=7 then SIGNAL steeldoor
  4216. if x=4 & y=7 | x=6 & y=7 | x=8 & y=7 | x=10 & y=7 | x=12 & y=7 | x=14 & y=7 | x=16 & y=7 | x=18 & y=7 | x=20 & y=7 | x=22 & y=7 then SIGNAL deephole
  4217. if x=24 & y=7 | x=26 & y=7 | x=28 & y=7 | x=28 & y=8 | x=28 & y=9 | x=28 & y=10 | x=28 & y=11 | x=28 & y=12 | x=28 & y=13 | x=26 & y=13 then SIGNAL deephole
  4218. if x=24 & y=13 | x=22 & y=13 | x=20 & y=13 | x=18 & y=13 | x=16 & y=13 | x=14 & y=13 | x=12 & y=13 | x=10 & y=13 | x=8 & y=13 | x=6 & y=13 then SIGNAL deephole
  4219. if x=4 & y=13 | x=4 & y=12 | x=4 & y=11 | x=4 & y=10 | x=4 & y=9 | x=4 & y=8 then SIGNAL deephole
  4220. if x=14 & y=4 | x=16 & y=4 | x=18 & y=4 | x=20 & y=4 | x=22 & y=4 | x=24 & y=4 | x=26 & y=4 | x=28 & y=4 | x=30 & y=4 | x=32 & y=4 then SIGNAL pods
  4221. if x=4 & y=4 | x=6 & y=4 | x=8 & y=4 | x=10 & y=4 | x=12 & y=4 | x=34 & y=4 | x=36 & y=4 | x=38 & y=4 | x=40 & y=4 | x=42 & y=4 then SIGNAL pods
  4222. if x=44 & y=4 | x=46 & y=4 | x=48 & y=4 | x=50 & y=4 | x=52 & y=4 | x=54 & y=4 then SIGNAL pods
  4223. if x=54 & y=14 then SIGNAL deadknight
  4224. if x=54 & y=3 then SIGNAL udrella
  4225. SIGNAL move
  4226.  
  4227. udrella:
  4228. xax=no
  4229. if udra=yes then SIGNAL move
  4230. moves=0
  4231. tt 'f1cdThere is a very small ball of light floating in mid air!!!w1'
  4232. tt 'ccToo bad it explodes into a massive monster & attacks!!w1'
  4233. location=A very bad spot for you!!!
  4234. local=alienship
  4235. mon=Udrellum
  4236. xax=yes
  4237. udra=yes
  4238. SIGNAL loadmonster1
  4239.  
  4240. deadknight:
  4241. if stat.77=yes then SIGNAL move
  4242. moves=0
  4243. tt 'f1n4ceThere is a dead knight laying in the floor here!'
  4244. tt 'ceHe looks to have been dead for about 6 months or so'
  4245. tt 'cejudging from the fungus on him. Looking through his'
  4246. tt 'cegear you find a cfChrome Colored Keyce...you keep it!!w6f1'
  4247. stat.77=yes
  4248. SIGNAL move
  4249.  
  4250. deephole:
  4251. tt 'f1n2ceThere is a deep hole here going into an eery darkness! Falling would be fatal!w2' 
  4252. SIGNAL moveback
  4253.  
  4254. pods:
  4255. tt 'f1n2caSome odd looking pods filled with little glowing balls of light??w2'
  4256. SIGNAL moveback
  4257.  
  4258. map3stuff:
  4259. location=An Ancient Drafty Castle
  4260. if x=26 & y=2 then location='cf'The Gates To The Battle Lands
  4261. if y<2 then SIGNAL bumpwall
  4262. if x=0 then SIGNAL bumpwall
  4263. if x>52 then SIGNAL bumpwall
  4264. if y=15 then SIGNAL bumpwall 
  4265. if x=24 & y=2 | x=28 & y=2 | x=4 & y=3 | x=6 & y=3 | x=8 & y=3 | x=10 & y=3 | x=12 & y=3 | x=14 & y=3 | x=16 & y=3 then SIGNAL bumpwall
  4266. if x=18 & y=3 | x=20 & y=3 | x=20 & y=3 | x=24 & y=3 | x=28 & y=3 | x=32 & y=3 | x=34 & y=3 | x=36 & y=3 | x=38 & y=3 then SIGNAL bumpwall
  4267. if x=40 & y=3 | x=42 & y=3 | x=44 & y=3 | x=46 & y=3 | x=48 & y=3 | x=50 & y=3 | x=4 & y=4 | x=20 & y=4 | x=24 & y=4 then SIGNAL bumpwall
  4268. if x=28 & y=4 | x=50 & y=4 | x=4 & y=5 | x=20 & y=5 | x=24 & y=5 | x=28 & y=5 | x=50 & y=5 | x=4 & y=6 then SIGNAL bumpwall
  4269. if x=20 & y=6 | x=24 & y=6 | x=28 & y=6 | x=32 & y=6 | x=50 & y=6 | x=4 & y=7 | x=20 & y=7 | x=24 & y=7 | x=28 & y=7 then SIGNAL bumpwall
  4270. if x=30 & y=7 | x=32 & y=7 | x=34 & y=7 | x=36 & y=7 | x=38 & y=7 | x=40 & y=7 | x=42 & y=7 | x=44 & y=7 | x=46 & y=7 then SIGNAL bumpwall
  4271. if x=50 & y=7 | x=4 & y=8 | x=8 & y=8 | x=12 & y=8 | x=14 & y=8 | x=16 & y=8 | x=18 & y=8 | x=20 & y=8 | x=24 & y=8 then SIGNAL bumpwall
  4272. if x=46 & y=8 | x=50 & y=8 | x=4 & y=9 | x=8 & y=9 | x=24 & y=9 | x=12 & y=9 | x=28 & y=9 | x=30 & y=9 | x=32 & y=9 then SIGNAL bumpwall
  4273. if x=34 & y=9 | x=36 & y=9 | x=38 & y=9 | x=40 & y=9 | x=42 & y=9 | x=46 & y=9 | x=48 & y=9 | x=50 & y=9 | x=4 & y=10 then SIGNAL bumpwall
  4274. if x=8 & y=10 | x=12 & y=10 | x=16 & y=10 | x=18 & y=10 | x=20 & y=10 | x=22 & y=10 | x=24 & y=10 | x=50 & y=10 then SIGNAL bumpwall
  4275. if x=4 & y=11 | x=8 & y=11 | x=12 & y=11 | x=16 & y=11 | x=24 & y=11 | x=28 & y=11 | x=50 & y=11 | x=4 & y=11 | x=8 & y=11 then SIGNAL bumpwall
  4276. if x=12 & y=12 | x=16 & y=12 | x=24 & y=12 | x=50 & y=12 | x=4 & y=13 | x=6 & y=13 | x=8 & y=13 | x=12 & y=13 | x=16 & y=13 then SIGNAL bumpwall
  4277. if x=18 & y=13 | x=20 & y=13 | x=22 & y=13 | x=24 & y=13 | x=28 & y=13 | x=30 & y=13 | x=32 & y=13 | x=34 & y=13 | x=36 & y=13 then SIGNAL bumpwall
  4278. if x=38 & y=13 | x=40 & y=13 | x=42 & y=13 | x=44 & y=13 | x=46 & y=13 | x=48 & y=13 | x=50 & y=13 | x=12 & y=14 then SIGNAL bumpwall
  4279. if x=10 & y=8 | x=44 & y=9 | x=32 & y=5 then SIGNAL passcard
  4280. if x=18 & y=11 then SIGNAL vaultmoney
  4281. if x=6 & y=12 then SIGNAL teleport
  4282. if x=22 & y=12 then SIGNAL teleport1
  4283. if x=30 & y=12 then SIGNAL keycard
  4284. if x=48 & y=7 then SIGNAL gateguardian
  4285. if x=48 & y=8 then SIGNAL gateopen
  4286. SIGNAL move
  4287.  
  4288. teleport:
  4289. tt '>9>9^1cfSuddenly you teleport elsewhere!w1'
  4290. y=11
  4291. x=22
  4292. SIGNAL mapSIGNAL
  4293.  
  4294. teleport1:
  4295. tt '>9>9^1cfSuddenly you teleport elsewhere!w1'
  4296. y=11
  4297. x=6
  4298. SIGNAL mapSIGNAL
  4299.  
  4300. gateopen:
  4301. moves=0
  4302. if stat.78=yes then SIGNAL gateopen1
  4303. tt 'f1n2s1cfYou cannot open the gate without the Zone Key!s0w2'
  4304. tt 'f1'
  4305. x=48
  4306. y=6
  4307. SIGNAL mapSIGNAL
  4308.  
  4309. gateopen1:
  4310. moves=0
  4311. sfi dpath||'newend'
  4312. tt 'f1'
  4313. stat.69=7
  4314. x=28
  4315. y=15
  4316. SIGNAL mapSIGNAL
  4317.  
  4318. gateguardian:
  4319. moves=0
  4320. if stat.78=yes then SIGNAL entergate
  4321. tt 'f1cdThe demon before you seems to be wanting the Zone Key!!!w2'
  4322. tt 'ccToo bad you don''t have it!! He attacks!!w2'
  4323. location=The Gate To The Radiation Zone
  4324. local=gate
  4325. mon=Gate Guardian
  4326. SIGNAL loadmonster1
  4327.  
  4328. entergate:
  4329. tt 'f1'
  4330. moves=0
  4331. sfi dpath||'gate'
  4332. tt 'f1'
  4333. SIGNAL move
  4334.  
  4335. keycard:
  4336. moves=0
  4337. if stat.78=yes then SIGNAL move
  4338. tt 'f1n5c9                   YOU HAVE LOCATED THE ZONE KEY!!!!w3'
  4339. tt 'f1n5cf    YOU TAKE A QUICK LOOK AROUND AND THEN YOU SNATCH IT UP AND LEAVE!!!w3'
  4340. stat.78=yes
  4341. SIGNAL move
  4342.  
  4343. Vaultmoney:
  4344. if stat.88=yes then SIGNAL move
  4345. moves=0
  4346. tt 'f1n2caCHUH CHING!!!! This vault has 20 million bucks in it!w2'
  4347. stat.2=stat.2+20000000
  4348. stat.88=yes
  4349. SIGNAL move
  4350.  
  4351. passcard:
  4352. moves=0
  4353. if stat.77=no then SIGNAL youneedthekey
  4354. tt 'f1n4cas1You slip the chrome key into the slot and the door opens!!s0w3'
  4355. SIGNAL move
  4356.  
  4357. youneedthekey:
  4358. tt 'f1s1n5ceEven though the rest of this castle seems ancient...s0w3'
  4359. tt 'f1s1n5ceThis door is so high tech that nothing short of the key will open its0w3'
  4360. SIGNAL moveback
  4361.  
  4362. map5:
  4363. IF MAP=5 THEN SIGNAL XPOS1
  4364. DO;CALL OPEN(1,MPATH||'5','R');DO I=1 TO 15;MP.I=READLN(1);END;CALL CLOSE(1);END
  4365. MPLINE1='CF'MP.1
  4366. MPLINE2='CF'MP.2
  4367. MPLINE3='CF'MP.3
  4368. MPLINE4='CF'MP.4
  4369. MPLINE5='CF'MP.5
  4370. MPLINE6='CF'MP.6
  4371. MPLINE7='CF'MP.7
  4372. MPLINE8='CF'MP.8
  4373. MPLINE9='CF'MP.9
  4374. MPLINE10='CF'MP.10
  4375. MPLINE11='CF'MP.11
  4376. MPLINE12='CF'MP.12
  4377. MPLINE13='CF'MP.13
  4378. MPLINE14='CF'MP.14
  4379. MPLINE15='CF'MP.15
  4380. MAP=5
  4381. SIGNAL XPOS1
  4382.  
  4383. map5stuff:
  4384. location='c8'In a Deep Dark Cave
  4385. if x=2 & y=2 then location='cf'A Possible Escape Route
  4386. if y<2 then SIGNAL bumpwall
  4387. if x<2 then SIGNAL bumpwall
  4388. if y>14 then SIGNAL bumpwall
  4389. if x>47 then SIGNAL bumpwall 
  4390. if x=2 & y=3 | x=4 & y=3 | x=6 & y=3 | x=8 & y=3 | x=10 & y=3 | x=12 & y=3 | x=14 & y=3 | x=16 & y=3 | x=18 & y=3 | x=20 & y=3 | x=44 & y=3 then SIGNAL bumpwall
  4391. if x=22 & y=3 | x=24 & y=3 | x=26 & y=3 | x=28 & y=3 | x=30 & y=3 | x=32 & y=3 | x=34 & y=3 | x=36 & y=3 | x=38 & y=3 | x=40 & y=3 | x=42 & y=3 then SIGNAL bumpwall
  4392. if x=44 & y=4 | x=28 & y=4 | x=20 & y=4 | x=16 & y=5 | x=12 & y=4 | x=8 & y=5 | x=4 & y=4 | x=4 & y=5 | x=12 & y=5 | x=16 & y=5 then SIGNAL bumpwall
  4393. if x=20 & y=5 | x=24 & y=5 | x=28 & y=5 | x=32 & y=5 | x=36 & y=5 | x=44 & y=5 | x=40 & y=5 | x=44 & y=6 | x=40 & y=6 | x=36 & y=6 | x=32 & y=6 then SIGNAL bumpwall
  4394. if x=28 & y=6 | x=24 & y=6 | x=20 & y=6 | x=16 & y=6 | x=12 & y=6 | x=8 & y=6 | x=4 & y=6 | x=8 & y=7 | x=16 & y=7 | x=24 & y=7 | x=32 & y=7 then SIGNAL bumpwall
  4395. if x=40 & y=7 | x=44 & y=7 | x=44 & y=8 | x=38 & y=8 | x=36 & y=8 | x=34 & y=8 | x=32 & y=8 | x=30 & y=8 | x=28 & y=8 | x=26 & y=8 | x=24 & y=8 then SIGNAL bumpwall
  4396. if x=22 & y=8 | x=20 & y=8 | x=18 & y=8 | x=16 & y=8 | x=14 & y=8 | x=12 & y=8 | x=10 & y=8 | x=8 & y=8 | x=6 & y=8 | x=4 & y=8 | x=2 & y=8 then SIGNAL bumpwall
  4397. if x=38 & y=9 | x=40 & y=9 | x=42 & y=9 | x=44 & y=9 | x=38 & y=10 | x=34 & y=10 | x=32 & y=10 | x=30 & y=10 | x=28 & y=10 | x=26 & y=10 | x=24 & y=10 then SIGNAL bumpwall
  4398. if x=22 & y=10 | x=20 & y=10 | x=18 & y=10 | x=16 & y=10 | x=14 & y=10 | x=12 & y=10 | x=10 & y=10 | x=8 & y=10 | x=6 & y=10 | x=4 & y=10 | x=4 & y=11 then SIGNAL bumpwall
  4399. if x=34 & y=11 | x=38 & y=11 | x=42 & y=11 | x=44 & y=11 | x=46 & y=11 | x=42 & y=12 | x=38 & y=12 | x=4 & y=12 | x=4 & y=13 | x=6 & y=13 | x=8 & y=13 then SIGNAL bumpwall
  4400. if x=10 & y=13 | x=12 & y=13 | x=14 & y=13 | x=16 & y=13 | x=18 & y=13 | x=20 & y=13 | x=22 & y=13 | x=24 & y=13 | x=26 & y=13 | x=28 & y=13 | x=30 & y=13 then SIGNAL bumpwall
  4401. if x=32 & y=13 | x=34 & y=13 | x=36 & y=13 | x=38 & y=13 | x=42 & y=13 | x=42 & y=14 then SIGNAL bumpwall
  4402. if x=6 & y=12 then SIGNAL gowee1
  4403. if x=40 & y=8 then SIGNAL gowee2
  4404. if x=44 & y=14 then SIGNAL fastcash
  4405. if x=46 & y=12 then SIGNAL wizard
  4406. SIGNAL move
  4407.  
  4408. wizard:
  4409. if stat.87=yes then SIGNAL move
  4410. moves=0
  4411. sfi dpath||'Wizard'
  4412. tt 'f1'
  4413. stat.87=yes
  4414. SIGNAL move
  4415.  
  4416. fastcash:
  4417. moves=0
  4418. if stat.61=yes then SIGNAL move
  4419. tt 'f1n1cbThis looks like someone''s life savings!!! It''s 300 thousand bucks!w3'
  4420. stat.2=stat.2+300000
  4421. stat.61=yes
  4422. tt 'f1'
  4423. SIGNAL move
  4424.  
  4425. gowee1:
  4426. moves=0
  4427. tt 'f1n3ceYou step into a wild electronic field and are suddenly teleported!w2'
  4428. x=2
  4429. y=4
  4430. SIGNAL mapSIGNAL
  4431.  
  4432. gowee2:
  4433. moves=0
  4434. tt 'f1n3ccThis ride is little bumpier than the last but again you teleport!w2'
  4435. x=44
  4436. y=12
  4437. SIGNAL mapSIGNAL
  4438.  
  4439. map6:
  4440. IF MAP=6 THEN SIGNAL XPOS1
  4441. DO;CALL OPEN(1,MPATH||'6','R');DO I=1 TO 15;MP.I=READLN(1);END;CALL CLOSE(1);END
  4442. MPLINE1='CF'MP.1
  4443. MPLINE2='CF'MP.2
  4444. MPLINE3='CF'MP.3
  4445. MPLINE4='CF'MP.4
  4446. MPLINE5='CF'MP.5
  4447. MPLINE6='CF'MP.6
  4448. MPLINE7='CF'MP.7
  4449. MPLINE8='CF'MP.8
  4450. MPLINE9='CF'MP.9
  4451. MPLINE10='CF'MP.10
  4452. MPLINE11='CF'MP.11
  4453. MPLINE12='CF'MP.12
  4454. MPLINE13='CF'MP.13
  4455. MPLINE14='CF'MP.14
  4456. MPLINE15='CF'MP.15
  4457. MAP=6
  4458. SIGNAL XPOS1
  4459.  
  4460. map6stuff:
  4461. location=Sneaking Around A Military Base
  4462. if y<2 then SIGNAL bumpwall
  4463. if x<2 then SIGNAL bumpwall
  4464. if x>56 then SIGNAL bumpwall
  4465. if y>14 then SIGNAL bumpwall
  4466. if x=26 & y=2 then location=The Empty Check Point
  4467. if x=10 & y=2 | x=24 & y=2 | x=28 & y=2 | x=38 & y=2 | x=10 & y=3 | x=14 & y=3 | x=16 & y=3 | x=24 & y=3 | x=28 & y=3 | x=38 & y=3 then SIGNAL bumpwall
  4468. if x=10 & y=4 | x=14 & y=4 | x=24 & y=4 | x=28 & y=4 | x=30 & y=4 | x=34 & y=4 | x=36 & y=4 | x=38 & y=4 | x=40 & y=4 | x=42 & y=4 then SIGNAL bumpwall
  4469. if x=46 & y=4 | x=48 & y=4 | x=50 & y=4 | x=52 & y=4 | x=54 & y=4 | x=56 & y=4 | x=58 & y=4 | x=4 & y=5 | x=6 & y=5 | x=8 & y=5 then SIGNAL bumpwall
  4470. if x=10 & y=5 | x=24 & y=5 | x=14 & y=6 | x=14 & y=5 | x=24 & y=6 | x=28 & y=6 | x=30 & y=6 | x=34 & y=6 | x=36 & y=6 | x=38 & y=6 then SIGNAL bumpwall
  4471. if x=40 & y=6 | x=42 & y=6 | x=48 & y=6 | x=50 & y=6 | x=52 & y=6 | x=54 & y=6 | x=56 & y=6 | x=58 & y=6 | x=44 & y=6 | x=2 & y=7 then SIGNAL bumpwall
  4472. if x=4 & y=7 | x=6 & y=7 | x=8 & y=7 | x=10 & y=7 | x=12 & y=7 | x=14 & y=7 | x=16 & y=7 | x=18 & y=7 | x=22 & y=7 | x=24 & y=7 then SIGNAL bumpwall
  4473. if x=28 & y=7 | x=38 & y=7 | x=28 & y=8 | x=38 & y=8 | x=4 & y=9 | x=6 & y=9 | x=8 & y=9 | x=10 & y=9 | x=12 & y=9 | x=14 & y=9 then SIGNAL bumpwall
  4474. if x=16 & y=9 | x=18 & y=9 | x=20 & y=9 | x=22 & y=9 | x=24 & y=9 | x=26 & y=9 | x=28 & y=9 | x=30 & y=9 | x=32 & y=9 | x=34 & y=9 then SIGNAL bumpwall
  4475. if x=36 & y=9 | x=38 & y=9 | x=40 & y=9 | x=42 & y=9 | x=44 & y=9 | x=46 & y=9 | x=48 & y=9 | x=50 & y=9 | x=52 & y=9 | x=54 & y=9 then SIGNAL bumpwall
  4476. if x=56 & y=9 | x=4 & y=10 | x=4 & y=11 | x=4 & y=12 | x=4 & y=13 then SIGNAL bumpwall
  4477. if x=4 & y=14 | x=2 & y=5 | x=16 & y=2 | x=32 & y=4 | x=32 & y=6 | x=44 & y=4 | x=44 & y=6 then SIGNAL steeldoor
  4478. if x=6 & y=14 then location=Hangar Filled With Old Junk
  4479. if x=14 & y=12 then SIGNAL rand1
  4480. if x=30 & y=2 then SIGNAL rand2
  4481. if x=32 & y=8 | x=46 & y=2 then SIGNAL rand3
  4482. if x=16 & y=2 then SIGNAL rand4 
  4483. if x=32 & y=3 | x=32 & y=7 | x=44 & y=3 | x=44 & y=7 then location=Abandonned Office
  4484. if x=2 & y=2 then SIGNAL neweapon
  4485. if x=54 & y=14 then SIGNAL newarmor
  4486. SIGNAL move
  4487.  
  4488. newarmor:
  4489. moves=0
  4490. if stat.86=yes then SIGNAL move
  4491. tt 'f1n2ceYou find a crate and your curiosity causes you to open it'
  4492. tt 'revealing a much better suit of armor than the one you are wearing!!n1 You get it!!w3f1'
  4493. stat.14=Lunar Plate
  4494. stat.46=stat.46+5
  4495. if stat.46>70 then stat.46=70
  4496. stat.86=yes
  4497. SIGNAL move
  4498.  
  4499. neweapon:
  4500. moves=0
  4501. if stat.33=yes then SIGNAL move
  4502. tt 'f1n2ceYou find a crate and your curiosity causes you to open it'
  4503. tt 'revealing a much better weapon than the one you have!! You get it!!w3f1'
  4504. stat.13=Battle Phaser
  4505. stat.62=stat.62+200
  4506. stat.60=stat.62+stat.63
  4507. stat.33=yes
  4508. SIGNAL move
  4509.  
  4510. moveback:
  4511. if rsp='1' THEN DO;y=y-1;DRC=UP;END
  4512. if rsp='1' THEN DO;x=x+2;DRC=UP;END
  4513. if rsp='3' THEN DO;x=x-2;DRC=UP;END
  4514. if rsp='3' THEN DO;y=y-1;DRC=UP;END
  4515. if rsp='7' THEN DO;x=x+2;DRC=DWN;END
  4516. if rsp='7' THEN DO;y=y+1;DRC=DWN;END
  4517. if rsp='9' THEN DO;y=y+1;DRC=DWN;END
  4518. if rsp='9' THEN DO;x=x-2;DRC=DWN;END
  4519. if rsp='2' THEN DO;y=y-1;DRC=UP;END
  4520. if rsp='4' THEN DO;x=x+2;DRC=SME;END
  4521. if rsp='6' THEN DO;x=x-2;DRC=SME;END
  4522. if rsp='8' THEN DO;y=y+1;DRC=DWN;END
  4523. SIGNAL mapSIGNAL
  4524.  
  4525. rand1:
  4526. MOVES=0
  4527. if doneit=yes then call move
  4528. if doneit2=yes then call move
  4529. if doneit3=yes then call move
  4530. mone=VRnd(20000,70000)*stat.10
  4531. rex=VRnd(1,7)
  4532. if rex=1 then do;tt 'f1n1ceYou found $'mone 'stashed here!w2f1';stat.2=stat.2+mone;doneit=yes;end
  4533. if rex=2 then do;tt 'f1n1ceYou found 5 brand new medkits here!w2f1';stat.42=stat.42+5;doneit=yes;end
  4534. if rex=3 then do;tt 'f1n1ceHey! Someone dropped a Transport Pass here!w2f1';stat.80=yes;doneit=yes;end
  4535. if rex=4 then do;tt 'f1n1ceHey! You just found an Info Helm!w2f1';stat.82=yes;doneit=yes;end 
  4536. if rex=5 then do;tt 'f1n1ceJACKPOT! Someone stashed 5 Magna Grenades here!!w2f1';stat.99=stat.99+5;doneit=yes;end
  4537. if rex=6 then do;tt 'f1n1ceWOE! Someone stashed a Full View Key here!!w2f1';stat.84=yes;doneit=yes;end
  4538. if rex=7 then do;tt 'f1n1ceJACKPOT! Someone stashed 2 Nova Grenades here!!w2f1';stat.100=stat.100+2;doneit=yes;end
  4539. if xcx=here then doneit2=yes
  4540. if xcx=there then doneit3=yes
  4541. if xcx=there then doneit2=yes
  4542. if xcx=anywhere then doneit2=yes
  4543. if xcx=anywhere then doneit3=yes
  4544. if xcx=anywhere then doneit4=yes
  4545. call move
  4546.  
  4547. rand2:
  4548. if doneit2=yes then call move
  4549. xcx=here
  4550. doneit=no
  4551. call rand1
  4552.  
  4553. rand3:
  4554. if doneit3=yes then call move
  4555. xcx=there
  4556. doneit=no
  4557. doneit2=no
  4558. call rand1
  4559.  
  4560. rand4:
  4561. if doneit4=yes then call move
  4562. xcx=anywhere
  4563. doneit=no
  4564. call rand1
  4565.  
  4566. run1:
  4567. rnturn=rnturn+1
  4568. xex=VRnd(1,10)+stat.6
  4569. if rnturn>3 then do;tt 'f1n4ceDon''t worry about running! Thecf' opstat.1 'gets bored and wanders away!w2';rnturn=0;end
  4570. xex=100
  4571. if xex<opstat.6 then do;tt 'f1s1n4c9You try to escape the fight butcf' opstat.1 'c9catches you!s0w2';call opponenturn;end
  4572. if map>0 then call run2
  4573. tt 'n2ceYou show you are a coward and run from the arena...w2'
  4574. tt 'f1'
  4575. if stat.69>0 then do;mondead=no;call mapcall;end
  4576. if local=gate then call bumpwall
  4577. call main
  4578.  
  4579. run2:
  4580. tt 'n2ceYou show you are a coward and run from the fight...w2'
  4581. tt 'f1'
  4582. if local=gate then call bumpwall
  4583. if stat.69>0 then do;mondead=no;call mapcall;end
  4584. call main
  4585.  
  4586. bmarketdd:
  4587. tt 'f1n3s1c8Pssst.....hey! Over here, v1! Come into the BLACK MARKET!s0w2'
  4588. call bmarketddd
  4589.  
  4590. bmarketddd:
  4591. tt 'f1'
  4592. bufferflush
  4593. sfi mmpath||'bmarket.ans'
  4594. tt 'n1caYou have $cb' stat.2
  4595. query 'n1ccI can''t wait all day here! What''ll it be?? '
  4596. blm=upper(result)
  4597. if blm=p then call quit
  4598. if blm='' then call bmarketddd
  4599. if blm='Q' then call computerdocs1
  4600. if blm='/' then call computerdocs1
  4601. if blm>0 & blm<10 then call blmweapon
  4602. if blm>9 & blm<23 then call blmitem
  4603. if blm>22 & blm<27 then call blmmagic
  4604. if blm=27 then call blminfo
  4605. if blm>27 then call bmarketddd
  4606. call bmarketddd
  4607.  
  4608. blmweapon:
  4609. if blm='1' then wp=spiker
  4610. if blm='2' then wp=flame pistol
  4611. if blm='3' then wp=nova pistol
  4612. if blm='4' then wp=blamgun
  4613. if blm='5' then wp=peace keeper
  4614. if blm='6' then wp=grave pistol
  4615. if blm='7' then wp=udrak sling
  4616. if blm='8' then wp=quad cannon
  4617. if blm='9' then wp=quint cannon
  4618. if exists(wpath||wp)=1 then call weaponboughta
  4619. call bmarketddd
  4620.  
  4621. weaponboughta:
  4622. call open(1,wpath||wp)
  4623. wcost=readln(1)
  4624. weapondam1=readln(1)
  4625. call close(1)
  4626. if stat.52>99 then wcost=wcost/2
  4627. if stat.2>=wcost then call weaponbought2a
  4628. tt 'ceYou do not have the funds necessary to buy this!w2'
  4629. call bmarketddd
  4630.  
  4631. weaponbought2a:
  4632. tt 'cdAce 'wp 'cdcosts $ce'wcost
  4633. sx 'cbDo you want it?c9 [No]ce '
  4634. getchar
  4635. an=upper(result);tt 'cb'an
  4636. if an=p then quit
  4637. if an='Y' then call weaponbought3a
  4638. tt 'ceMAKE UP YOUR MIND!w2'
  4639. call bmarketddd
  4640.  
  4641. weaponbought3a:
  4642. stat.13=wp
  4643. stat.2=stat.2-wcost
  4644. stat.62=weapondam1
  4645. stat.60=stat.62+stat.63
  4646. call bmarketddd
  4647.  
  4648. blmitem:
  4649. if blm='10' then tm=tpassa
  4650. if blm='11' then tm=infoha
  4651. if blm='12' then tm=fvka
  4652. if blm='13' then tm=magnaga
  4653. if blm='14' then tm=novga
  4654. if blm='15' then tm=compchipa
  4655. if blm='16' then tm=saleschipa
  4656. if blm='17' then tm=mountchipa
  4657. if blm='18' then tm=asschipa
  4658. if blm='19' then tm=defchipa
  4659. if blm='20' then tm=medchipa
  4660. if blm='21' then tm=battlechipa
  4661. if blm='22' then tm=levelchipa 
  4662. if exists(wpath||tm)=1 then call itembought1a
  4663. call bmarketddd
  4664.  
  4665. itembought1a:
  4666. call open(1,wpath||tm)
  4667. ittag=readln(1)
  4668. itcost=readln(1)
  4669. itbonus=readln(1)
  4670. call close(1)
  4671. if stat.52>99 then itcost=itcost/2
  4672. if stat.2>itcost then call itembought2a
  4673. tt 'ceYou do not have the funds necessary to buy this!w2'
  4674. call bmarketddd
  4675.  
  4676. itembought2a:
  4677. tt 'cdAce 'ittag 'cdcosts $ce'itcost
  4678. sx 'cbDo you want it?c9 [No]ce '
  4679. getchar
  4680. an=upper(result);tt 'cb'an
  4681. if an=p then quit
  4682. if an='Y' then call itembought3a
  4683. tt 'ceMake up your mind!w2'
  4684. call bmarketddd
  4685.  
  4686. itembought3a:
  4687. if tm=tpassa then call tpassa1
  4688. if tm=infoha then call infoha1
  4689. if tm=fvka then call fvka1
  4690. if tm=magnaga then call magnaga1
  4691. if tm=novga then call novga1
  4692. if tm=compchipa then call compchipa1
  4693. if tm=saleschipa then call saleschipa1
  4694. if tm=mountchipa then call mountchipa1
  4695. if tm=asschipa then call asschipa1
  4696. if tm=defchipa then call defchipa1
  4697. if tm=medchipa then call medchipa1
  4698. if tm=battlechipa then call battlechipa1
  4699. if tm=levelchipa then call levelchipa1
  4700.  
  4701. levelchipa1:
  4702. stat.9=stat.64+1
  4703. location=bmarket
  4704. stat.2=stat.2-itcost
  4705. call levelup
  4706.  
  4707. battlechipa1:
  4708. stat.10=20
  4709. stat.9=21000000
  4710. stat.64=24000000
  4711. stat.47=stat.47-15
  4712. stat.46=stat.46+5
  4713. stat.5=stat.5+5
  4714. stat.8=stat.8+5
  4715. stat.3=stat.3+200
  4716. stat.4=stat.4+200
  4717. stat.15=stat.15+200
  4718. stat.16=stat.16+200
  4719. stat.2=stat.2-itcost
  4720. call bmarketddd
  4721.  
  4722. medchipa1:
  4723. stat.54=stat.54+80
  4724. stat.2=stat.2-itcost
  4725. call bmarketddd
  4726.  
  4727. defchipa1:
  4728. stat.57=stat.57+80
  4729. stat.46=stat.46+2
  4730. stat.2=stat.2-itcost
  4731. call bmarketddd
  4732.  
  4733. asschipa1:
  4734. stat.48=stat.48+80
  4735. stat.47=stat.47-2
  4736. stat.2=stat.2-itcost
  4737. call bmarketddd
  4738.  
  4739. mountchipa1:
  4740. stat.49=stat.49+80
  4741. stat.2=stat.2-itcost
  4742. call bmarketddd
  4743.  
  4744. saleschipa1:
  4745. stat.52=stat.52+80
  4746. stat.2=stat.2-itcost
  4747. call bmarketddd
  4748.  
  4749. compchipa1:
  4750. stat.50=stat.50+80
  4751. stat.2=stat.2-itcost
  4752. call bmarketddd
  4753.  
  4754. tpassa1:
  4755. stat.80=yes
  4756. stat.2=stat.2-itcost
  4757. call bmarketddd
  4758.  
  4759. fvka1:
  4760. stat.84=yes
  4761. stat.2=stat.2-itcost
  4762. call bmarketddd
  4763.  
  4764. infoha1:
  4765. stat.82=yes
  4766. stat.2=stat.2-itcost
  4767. call bmarketddd
  4768.  
  4769. magnaga1:
  4770. query 'caHow many Magna Grenades do you wish to purchase?ce '
  4771. bz=upper(result);tt bz
  4772. if bz=p then call quit
  4773. if bz*itcost>stat.2 then call wrongo1
  4774. if bz='' then call bmarketddd
  4775. stat.99=stat.99+bz
  4776. stat.2=stat.2-(itcost*bz)
  4777. call bmarketddd
  4778.  
  4779. novga1:
  4780. query 'caHow many Nova Grenades do you wish to purchase?ce '
  4781. bz=upper(result);tt bz
  4782. if bz=p then call quit
  4783. if bz*itcost>stat.2 then call wrongo1
  4784. if bz='' then call bmarketddd
  4785. stat.100=stat.100+bz
  4786. stat.2=stat.2-(itcost*bz)
  4787. call bmarketddd
  4788.  
  4789. wrongo1:
  4790. bing=stat.2/itcost
  4791. tt 'c9s2DO NOT WASTE MY TIME!! YOU CANNOT AFFORD THAT MANY GRENADES!'
  4792. tt 'AT MOST YOU CAN AFFORDCFs0' bing'w3'
  4793. call bmarketddd
  4794.  
  4795. blmmagic:
  4796. if stat.72=no then call youhavenomagica
  4797. if blm='23' then mm=nuke2a
  4798. if blm='24' then mm=heal3a
  4799. if blm='25' then mm=ragea
  4800. if blm='26' then mm=besteela      
  4801. if exists(tpath||mm)=1 then call magicbought1a
  4802. call bmarketddd
  4803.  
  4804. youhavenomagica:
  4805. tt 'ceYou are not capable of using magic!w2'
  4806. call bmarketddd
  4807.  
  4808. magicbought1a:
  4809. call open(1,tpath||mm)
  4810. mactag=readln(1)
  4811. maccost=readln(1)
  4812. malevel=readln(1)
  4813. call close(1)
  4814. if malevel>stat.10 then call notenoughlevela
  4815. if stat.52>99 then maccost=maccost/2
  4816. if stat.2>maccost then call magicbought2a
  4817. tt 'ceYou do not have the funds necessary to buycf' mactag 'ce!w2'
  4818. call bmarketddd
  4819.  
  4820. notenoughlevela:
  4821. tt 'n1c9Your level is not high enough to learncf' mactag 'c9!w2'
  4822. call bmarketddd
  4823.  
  4824. magicbought2a:
  4825. tt 'cdAce 'mactag 'cdcosts $ce'maccost
  4826. sx 'cbDo you want it?c9 [No]ce '
  4827. getchar
  4828. an=upper(result);tt 'cb'an
  4829. if an=p then quit
  4830. if an='Y' then call magicbought3a
  4831. tt 'ceMake up your mind!w2'
  4832. call bmarketddd
  4833.  
  4834. magicbought3a:
  4835. if mm=nuke2a then call ma1a
  4836. if mm=heal3a then call ma2a
  4837. if mm=ragea then call ma3a
  4838. if mm=besteela then call ma4a
  4839.  
  4840. ma1a:
  4841. stat.30=yes
  4842. stat.2=stat.2-maccost
  4843. call bmarketddd
  4844.  
  4845. ma2a:
  4846. stat.32=yes
  4847. stat.2=stat.2-maccost
  4848. call bmarketddd
  4849.  
  4850. ma3a:
  4851. stat.34=yes
  4852. stat.2=stat.2-maccost
  4853. call bmarketddd
  4854.  
  4855. ma4a:
  4856. stat.35=yes
  4857. stat.2=stat.2-maccost
  4858. call bmarketddd
  4859.  
  4860. blminfo:
  4861. tt 'f1n2s1cfSo you want to buy some information eh?w1s0'
  4862. query 'ceYou have $cf'stat.2 'ceHow much do you want to spend? '
  4863. pay=upper(result)
  4864. if pay=p then call quit
  4865. if pay='Q' then call bmarketddd
  4866. if pay='/' then call bmarketddd
  4867. if pay>stat.2 then call deadbeat1
  4868. if pay<100000 then call deadbeat2
  4869. if pay>99999 & pay<200000 then sfi dpath||'info1'
  4870. if pay>199999 & pay<500000 then sfi dpath||'info2'
  4871. if pay>499999 & pay<1000000 then sfi dpath||'info3'
  4872. if pay>999999 & pay<2000000 then sfi dpath||'info4'
  4873. if pay>1999999 then sfi dpath||'info5'
  4874. stat.2=stat.2-pay
  4875. call bmarketddd
  4876.  
  4877. deadbeat1:
  4878. tt 'ceYou don''t have that much money, Deadbeat!w2'
  4879. call bmarketddd
  4880.  
  4881. deadbeat2:
  4882. tt 'ceI won''t tell you anything for less than $100,000.00!w2'
  4883. call bmarketddd
  4884.  
  4885. gamblingdd:
  4886. if stat.108>3 then call nomoretoday
  4887. tt 'f1n4c9So you want to lose your money eh?w1'
  4888. tt 'n1cfYou have $ca'stat.2
  4889. query 'n1cbHow much are you willing to wager? c9[Quit]cf '
  4890. bet=upper(result)
  4891. if bet=p then call quit
  4892. if bet='Q' then call computerdocs1
  4893. if bet='/' then call computerdocs1
  4894. if bet='' then call computerdocs1
  4895. if bet>stat.2 then call giveitup
  4896. if bet>2000000 then call houserules
  4897. whl=VRnd(1,100)+stat.59
  4898. if whl<160 then call youlose
  4899. if whl>159 & whl<180 then win=bet/4
  4900. if whl>179 & whl<205 then win=bet/2
  4901. if whl>204 & whl<215 then win=bet
  4902. if whl>214 then win=bet*2
  4903. tt 'ceYou just won $c9'win 'w2'
  4904. stat.2=stat.2+win
  4905. stat.108=stat.108+1
  4906. call gamblingdd
  4907.  
  4908. houserules:
  4909. tt 'n1c9THE HOUSE DOES NOT ACCEPT BIDS OVER 2 MILLION DOLLARSw2'
  4910. call gamblingdd
  4911.  
  4912. nomoretoday:
  4913. tt 'n1c9Sorry, you have gambled too much today. We''d hate for you to get addicted!w3'
  4914. call computerdocs1
  4915.  
  4916. giveitup:
  4917. tt 'ceYou don''t have that much money!w2'
  4918. call gamblingdd
  4919.  
  4920. youlose:
  4921. tt 'ceYou lost big there, buddyw2'
  4922. stat.2=stat.2-bet
  4923. call gamblingdd
  4924.  
  4925. VRnd: procedure   /*  Very Random v1.1  [c] 1990 Shane D. Killian  */
  4926.    arg lo,hi      /*    Feel free to use this as long as these     */
  4927.    n1 = time('E') /* comments remain intact.  Works like random(). */
  4928.    n2 = time('S')
  4929.    parse var n1 n11 '.' n12
  4930.    n1 = n11 || n12
  4931.    if lo > hi then do
  4932.       x = lo
  4933.       lo = hi
  4934.       hi = x
  4935.    end
  4936.    if hi ~= lo then do
  4937.       d = hi - lo + 1
  4938.       x = length(d)
  4939.       n1 = right(n1,x)
  4940.       n2 = right(n2,x)
  4941.       p = d
  4942.       if p > 999 then p = 999
  4943.       r = n1 + n2 + random(0,p)
  4944.       r = r // d + lo
  4945.    end
  4946.    else r = hi
  4947. return r
  4948.  
  4949. refreshmap:
  4950. moves=0
  4951. SIGNAL move
  4952.